该函数可以实现按条件实现列转行:
基础的用法如下:
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. 将新入职的前三个员工工号进行拼接,