有一个表T(id整数,主键(id).
我想要一个参数化查询,给定id i:
将返回下一个连续id,
如果i = T中的最大id,查询应返回T中的最小id(循环)
您可以选择值@i(如果有)的最小id,以及最小的id,然后获得最大的id:
select max(id)
from (
select top 1 id
from T
where id > @i
order by id
union all
select top 1 id
from T
order by id
) x
Run Code Online (Sandbox Code Playgroud)
也许:
select max(id)
from (
select min(id) as id
from T
where id > @i
union all
select min(id)
from T
) x
Run Code Online (Sandbox Code Playgroud)