表ABC如下,ID是主健,现在想找出最小跳号Id的值,
如果数据如下,那么id为6,8的记录有跳号,id为9,13的记录也有跳号,
但最小的是6,结果就是6。应该怎么写啊。不想用存储过程和游标。
ID Name
1 add
2 fff
3 ffdf
4 sdf
5 ssssf
6 sdf
8 sdf
9 sdf
13 sssss
Select top 1 ID from 表 a
where not exists (Select ID from 表 where ID = a.ID + 1)
Select min(ID)+1 as id from 表 a
where not exists (Select 1 from 表 where ID = a.ID + 1)
select min(id) from
(select *,(select count(*) from ABC where id<=XXX.id) as row from ABC as XXX order by id) as yyy where id<>row
or:
Select top 1 ID+1 as id from 表 a
where not exists (Select ID from 表 where ID = a.ID + 1)
order by id
select min(id)-1 from
(select *,(select count(*) from ABC where id<=XXX.id) as row from ABC as XXX order by id) as yyy where id<>row
select top 1 ID from 表 a
where not exists (select 1 from 表 where ID = a.ID+1)
order by ID
Select min(ID) from 表 a
where not exists (Select 1 from 表 where ID = a.ID + 1)