如果中间缺少数字,则获取数字列的范围(最小/最大)

sab*_*bre 2 sql sql-server sql-server-2005

如果数字在某个地方结束然后以更高的数字再次获取,我将如何查询数字列的范围?

如果我有一个列:

Number
-------
 1
 2
 3
 4
 5
 11
 12
 13
Run Code Online (Sandbox Code Playgroud)

我怎样才能返回结果

Min | Max
----------
 1  |  5
 11 |  13
Run Code Online (Sandbox Code Playgroud)

t-c*_*.dk 5

;WITH CTE AS
(
 SELECT 
   Number, 
   Number - dense_rank() over (order by Number) grp
 FROM yourtable
)
SELECT min(Number) min, max(Number) max
FROM CTE
GROUP BY grp
Run Code Online (Sandbox Code Playgroud)

小提琴