oracle 合并列值
情景
一个人可能有多个电话号码,为方便查看我们可以吧电话号码凡在一行,这样就i可以一目了然
表内容如下
](https://img-blog.csdnimg.cn/07e04f5edcf84076b17c39587de712cd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5L2g5Zac5qyi5bCx5YC85b6X,size_20,color_FFFFFF,t_70,g_se,x_16)
查询语句如下
SELECT
T .DEPTNO,
listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .ENAME) names
FROM
TESTAGG T
GROUP BY
T .DEPTNO
查询结果图

创建表的语句
--适用于Oracle 11g 及以上,之前的版本可使用wm_concat函数
CREATE TABLE TESTAGG
(
id int,
deptno VARCHAR2(20),
ename VARCHAR2(20)
);
INSERT INTO "TESTAGG" ( id,deptno, ename) VALUES (1,'B1','123');
INSERT INTO "TESTAGG" ( id,deptno, ename) VALUES (1,'B1','465');
INSERT INTO "TESTAGG" ( id,deptno, ename) VALUES (3,'B1','123126');
INSERT INTO "TESTAGG" ( id,deptno, ename) VALUES (4,'B2','12563');

浙公网安备 33010602011771号