該函數可以實現按條件實現列轉行:
基礎的用法如下:
LISTAGG(1,2) WITHIN GROUP( ORDER BY 3)
1:需要拼接的數據表中的字段
2:以什么字符分割,例如逗號,分號等字符
2與3是相同的字段
它的用法就像聚合函數一樣,通過Group by語句,把每個Group的一個字段,拼接起來。
例如:
SELECT LISTAGG(t.employee_code, ';') within group(ORDER BY t.employee_code) FROM t_employee t WHERE rownum > 0 and rownum <= 3;
查詢結果為:EXXXXX1;EXXXXX2;EXXXXX3. 將新入職的前三個員工工號進行拼接,