listagg
最近更新时间: 2025-02-18 16:02:00
listagg (filedname,',') WITHIN GROUP (ORDER BY filedname)
行转列函数
postgres=# create table person
(
deptno varchar2(10),
ename varchar(20)
);
CREATE TABLE
postgres=# insert into person values('20','aaa');
INSERT 0 1
postgres=#
postgres=# insert into person values('20','bbb');
INSERT 0 1
postgres=#
postgres=# insert into person values('20','ccc');
INSERT 0 1
postgres=#
postgres=# insert into person values('21','ddd');
INSERT 0 1
postgres=#
postgres=# insert into person values('21','eee');
INSERT 0 1
postgres=# select
postgres-# deptno,
postgres-# listagg (ename,',') WITHIN GROUP (ORDER BY ENAME)
postgres-# from
postgres-# person
postgres-# group by
postgres-# deptno ;
deptno | listagg
--------+-------------
20 | aaa,bbb,ccc
21 | ddd,eee
(2 rows)