5,889
社区成员
发帖
与我相关
我的任务
分享
select min(c.a) from
(select b.id as id,@id-1+row_number() over() as a
from t_user as b where b.id > @id-1 order by id) as c
where c.id <> c.a
;
--没取那么多数据,但方法类似...
create table k
(
[id] int,
[name] varchar(10)
)
insert into k values (1,null)
insert into k values (2,null)
insert into k values (5,null)
insert into k values (6,null)
insert into k values (7,null)
insert into k values (9,null)
select * from k
declare @id int
set @id=1
while @id<(select max(id) from k)
begin
if (select count(*) from k where [id]=@id)=0
begin
print @id
end
set @id=@id+1
end
select Min(T_User.Id + 1)
from T_User
where not Exists(select * from T_User as T where T.Id = T_User.Id + 1) and T.User > @Id