需要找到缺失的数字,这些数字已经被删除或者 Column 还没有。
例如:
我有一个表 Named Person 有列 [PersonID] [PersonName]
[PersonID] 是主要的递增数字,例如从 1 到 N。
PersonID PersonName
1001 ABC
1002 ABC
1003 XYZ
1004 MNO
1006 ABC
1008 MNO
1009 ABC
1010 ABC
1011 XYZ
1014 ABC
1015 ABC
1016 XYZ
1017 MNO
在给定的表中,列 PersonID 中有一些缺失的数字,例如
1005
1007
1012
1013
只需要找到丢失的数字。
注意:我的表中有超过2000万条记录。 因此,请建议一种更快的方法来找到所需的数字。
最佳答案
感谢所有支持和分享一些观点的人。我找到了使用 ROWNUMBER()
查找缺失项的方法。 SELECT
NOTEXIST FROM (
SELECT ROW_NUMBER() OVER (ORDER BY PERSONID) NOTEXIST ,PERSONID FROM #A ) T
WHERE NOTEXIST NOT IN ( SELECT PERSONID FROM PERSONID )
关于sql - 从列值中查找缺少的键 ID 或数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55514016/