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
~~~

效果:

上一篇下一篇

猜你喜欢

热点阅读