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

查詢結果: