3,491
社区成员
发帖
与我相关
我的任务
分享
select A.TYPE,max(KEY)
from
(
select TYPE,
WMSYS.WM_CONCAT(CITY) OVER(PARTITION BY TYPE ORDER BY SOFT,ID) KEY,
row_number() over(PARTITION BY TYPE ORDER BY SOFT) rs
from
(
SELECT 2 AS ID , '沈阳市' AS CITY, '1' TYPE,2 SOFT FROM DUAL
UNION ALL
SELECT 3 AS ID , '大连市', '1' TYPE, 1 SOFT FROM DUAL
UNION ALL
SELECT 5 AS ID , '长春市', '2' TYPE , 3 SOFT FROM DUAL
UNION ALL
SELECT 6 AS ID , '延边市', '2' TYPE , 1 SOFT FROM DUAL
order by SOFT
)
)A
group by A.TYPE
select type,cities from (
select type ,wm_concat(city) over(partition by type order by soft rows between unbounded preceding and unbounded following) cities from t)
group by type,cities
select type,substr(max(sys_connect_by_path(city,',')),2) citys
from(
select city,soft,type,row_number()over(partition by type order by soft)rn
from t)
start with rn=1
connect by rn=prior rn+1
and type=prior type
group by type;
SELECT WM_CONCAT(CITY) 城市
FROM (select CITY,type,soft
from t
order by soft)
GROUP BY TYPE