在我的数据库中,我有10个用户号码,其中一些号码已被删除,当我在以下节目中选择列时:
missing_user_number:
1,
2,
5,
8,
10,
Run Code Online (Sandbox Code Playgroud)
我需要知道是否有一个脚本可以得到这样的丢失数字,我不希望删除的数据,我只是希望丢失的数字作为整合数据:
missing_user_number:
3,
4,
6,
7,
9,
Run Code Online (Sandbox Code Playgroud)
在大多数SQL版本中,实际上更容易获得缺失值的范围,而不是每个缺失值:
select user_number + 1 as missing_range_start, next_user_number - 1 as missing_range_end
from (select t.*,
lead(user_number) over (order by user_number) as next_user_number
from t
) t
where user_number <> user_number + 1;
Run Code Online (Sandbox Code Playgroud)
注意:这只会找到内部缺失的数字,如问题中的示例所示.
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |