我有一个表,上面有序列号。
我想要找到丢失的序列号,它是丢失的数字中的最小序列号。
For eg.,
Seq No: 1,2,3,5,7,9 ==> Expected result: 4
Seq No: 1,2,3,4,5,6,7,9,15 ==> Expected result: 8发布于 2019-03-18 13:37:25
您可以尝试使用row_number()
with cte as
(
select seq,seq-row_number() over(order by seq) as diff
from tablename
)
select * from cte where diff<>0 and diff in (select min(diff) from cte where diff<>0)发布于 2019-03-18 13:48:38
使用row_number()生成新序列,并将其与原始序列进行比较
select min(new_seq)
from
(
select *, new_seq = row_number() over (order by seq)
from your_table
) t
where seq <> new_seq发布于 2019-03-18 13:58:52
选择不存在序列号加1的最小序列号,然后添加1:
select min(seqNo)+1 from SeqNoTable where seqNo+1 not in (select SeqNo from SeqNoTable)https://stackoverflow.com/questions/55215038
复制相似问题