假设我有一个带有整数列 ID 的表。我需要找到具有最大退货金额的missing numbersa 。sequence
我怎样才能使用一个查询来实现这一目标MS SQL?
提前致谢!
尝试这个:
如果您需要获得更多数字,只需增加WHERE Number<=100.
DECLARE @Tab1 TABLE (ID INT)
INSERT INTO @Tab1 VALUES(1)
INSERT INTO @Tab1 VALUES(3)
INSERT INTO @Tab1 VALUES(5)
INSERT INTO @Tab1 VALUES(7)
INSERT INTO @Tab1 VALUES(9)
;WITH CTE AS
(
SELECT 1 AS Number
UNION ALL
SELECT Number + 1 FROM CTE
WHERE Number<=100
)
SELECT TOP 5 *
FROM CTE
WHERE Number NOT IN(SELECT ID FROM @Tab1)
ORDER BY Number
OPTION (maxrecursion 0);
Run Code Online (Sandbox Code Playgroud)
现有值:
Number
1
3
5
7
9
Run Code Online (Sandbox Code Playgroud)
输出:
Number
2
4
6
8
10
Run Code Online (Sandbox Code Playgroud)
希望这对您有帮助。