我试图解决这个问题,因为它涉及连续行的比较.我试图将不同数量的值组合在一起.例如,让我们说我有这张表:
CREATE TABLE #TEMP (A int, B int)
-- Sample table
INSERT INTO #TEMP VALUES
(3,1),
(3,2),
(3,3),
(3,4),
(5,1),
(6,1),
(7,2),
(8,3),
(8,4),
(8,5),
(8,6)
SELECT * FROM #TEMP
DROP TABLE #TEMP
Run Code Online (Sandbox Code Playgroud)
并且让我们说我必须将所有相差1的值分组为A,然后我尝试得到这样的输出:
A B GroupNo
3 1 1
3 2 1
3 3 1
3 4 1
5 1 2
6 1 3
7 2 4
8 3 5
8 4 5
8 5 5
8 6 5
Run Code Online (Sandbox Code Playgroud)
(3,1) (3,2) (3,3) (3,4)
并且(8,3) (8,4) (8,5) (8,6)
因为它们的值相差1 …