首页 > 数据库技术 > 详细

Oracle将多条记录的同一字段值连接为一个字符串

时间:2019-09-23 17:45:08      阅读:264      评论:0      收藏:0      [点我收藏+]

 

oracle 将多条记录的某一字段,连接为一个字符串

CREATE TABLE t_test
(
  ID NUMBER PRIMARY KEY,
  grade VARCHAR2(20),
  uname VARCHAR2(20)
);

insert into t_test values(1, A, zhang1);
insert into t_test values(2, A, wang2);
insert into t_test values(3, A, li3);
insert into t_test values(4, A, wang2);
insert into t_test values(5, B, zhao4);
insert into t_test values(6, A, liu5);
insert into t_test values(7, B, qi6);
insert into t_test values(8, B, lu7);

SELECT grade,
       SUBSTR(MAX(SYS_CONNECT_BY_PATH(uname, )), 2) uname
  FROM (SELECT grade,
               uname,
               rn,
               LEAD(rn) OVER(PARTITION BY grade ORDER BY rn) rn1
          FROM (SELECT grade,
                       uname,
                       ROW_NUMBER() OVER(ORDER BY uname) rn
                  FROM t_test))
 START WITH rn1 IS NULL
CONNECT BY rn1 = PRIOR rn
 GROUP BY grade;

       GRADE    UNAME
1    A    zhang1,wang2,wang2,liu5,li3
2    B    zhao4,qi6,lu7

 

Oracle将多条记录的同一字段值连接为一个字符串

原文:https://www.cnblogs.com/LinuSiyu/p/11573570.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!