10个数字 1,2,3,4,5,6,7,8,9,10
其中 数字4没了 数字7没了 (状态为已销售)
我的sql要求将 状态为 未销售的 数字列出来
但是要求是号段形式 如: 1-3, 5-6, 8-10
如上!!!!!!!!!!!!!!!!!
4和7 状态为已销售....
其他的为未销售
其中 数字4没了 数字7没了 (状态为已销售)
我的sql要求将 状态为 未销售的 数字列出来
但是要求是号段形式 如: 1-3, 5-6, 8-10
如上!!!!!!!!!!!!!!!!!
4和7 状态为已销售....
其他的为未销售
(num INT)
INSERT tb SELECT
1 UNION ALL SELECT
2 UNION ALL SELECT
3 UNION ALL SELECT
5 UNION ALL SELECT
6 UNION ALL SELECT
8 UNION ALL SELECT
9 UNION ALL SELECT
10 UNION ALL SELECT
11
GO
;WITH cte AS
(
SELECT rn=row_number()OVER(ORDER BY num)-num,* FROM tb
)
SELECT rtrim(min(num))+'-'+rtrim(max(num)) AS fw
FROM cte
GROUP BY rn
ORDER BY fw
/*
fw
----
1-3
5-6
8-11*/
哎!早不说,浪费大家的表情。去数据库开发的Oracle社区问问吧!