oracle 多行合併成一行: listagg within group
可以和遞迴方法一起使用查詢路徑:
例如:
SELECT LISTAGG(t.FOLDER_NAME, '/') WITHIN GROUP(ORDER BY LEVEL DESC) AS FOLDER_NAME
FROM BAS_FOLDER_TREE t
START WITH ID = '1470'
CONNECT BY PRIOR PID = ID;
查詢結果:知識維度/人力資源測試賬號看不到的維度/娛樂維度
可以解決查詢路徑的問題。
單獨的使用listagg within group:
SELECT ID, listagg(NAME, ',') within group(ORDER BY ID) AS NAMES FROM DEMO T GROUP BY ID
查詢結果: