У меня есть одна таблица с порядковым номером.
Я хочу найти пропущенный порядковый номер, который является минимальным из пропущенных номеров.
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
используйте row_number() для генерации новой последовательности и сравните ее с вашей оригинальной последовательностью
row_number()
select min(new_seq) from ( select *, new_seq = row_number() over (order by seq) from your_table ) t where seq <> new_seq
Выберите минимальный порядковый номер, в котором порядковый номер плюс один не существует, и добавьте один:
select min(seqNo)+1 from SeqNoTable where seqNo+1 not in (select SeqNo from SeqNoTable)
Вы можете попробовать с 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)