我有桌子: 1 2 3 4 五 6 9 10 11 12 我需要收到: 1-6 9-12 我怎么能这样做? 我需要看到我有两个或更多的数字i表范围,从1到6和从9到12。
答案 0 :(得分:2)
SELECT
CONCAT(MIN(A.b), '-', max(A.b))
FROM
(
SELECT
*,
ROW_NUMBER() OVER (ORDER BY b) RowId
FROM
(VALUES (1), (2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12)) a(b)
--WHERE
--(a.b >= 1 AND a.b <= 6) OR
--(a.b >= 9 AND a.b <= 12)
) A
GROUP BY
A.b - A.RowId