SELECT MIN(col1) AS start_range, MAX(col1) AS end_range
FROM (SELECT col1,
(
SELECT MIN(B.col1)
FROM dbo.T1 AS B
WHERE B.col1 >= A.col1
AND NOT EXISTS
(SELECT *
FROM dbo.T1 AS C
WHERE C.col1 = B.col1 + 1)
) AS grp
FROM dbo.T1 AS A) AS jh
GROUP BY grp;
Run Code Online (Sandbox Code Playgroud)
如果我删除"AS jh",为什么会出错?为什么我需要相同的"AS grp".(不一样,因为我分组)但我不能删除它.在第二个代码中没有这样的"AS".
SELECT col1,
(SELECT MIN(B.col1)
FROM dbo.T1 AS B
WHERE B.col1 >= A.col1
-- is this row the last in its group?
AND NOT EXISTS
(SELECT *
FROM dbo.T1 AS …Run Code Online (Sandbox Code Playgroud)