我有一个带有ID和number_col的项目表。关于寻找ID差距的Stackoverflow上有很多问题,但是我要寻找的是数量上的差距。例如,如果我有3个项目:
id | number_col =============== 1 | 1 1 | 2 1 | 4
我需要一个SQL查询,该查询返回id = 1,number_col = 3为丢失。查询应查看每个id的number_col最大值。由于在我的示例中4是ID 1的最大number_col值,因此它不应返回1,5丢失。
答案 0 :(得分:0)
如果您需要缺少值的范围,则:
select number_col + 1 as first_missing, (next_nc - 1) as last_missing
from (select t.*, lead(number_col) over (partition by id order by number_col) as next_nc
from t
) t
where next_nc <> number_col + 1