oracle的 listagg、WITHIN GROUP行转列函
2021-05-20 本文已影响0人
我开心0536
1.使用条件查询 查询部门为20的员工列表
-- 查询部门为20的员工列表
~~~
SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = '20' ;
~~~
效果:
2.使用 listagg() WITHIN GROUP () 将多行合并成一行(比较常用)
~~~
SELECT
T .DEPTNO,
listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .ENAME) names
FROM SCOTT.EMP T
WHERE
T .DEPTNO = '20'
GROUP BY
T .DEPTNO
~~~
效果: