XMLAGG用法

CREATE TABLE T1 (C1 NUMBER(1), C2 VARCHAR2(2));

INSERT INTO T1 VALUES (1, '01');
INSERT INTO T1 VALUES (2, '02');
INSERT INTO T1 VALUES (2, '03');
INSERT INTO T1 VALUES (3, '04');
INSERT INTO T1 VALUES (3, '04');
INSERT INTO T1 VALUES (3, '05');
INSERT INTO T1 VALUES (3, '06');

SQL> SELECT * FROM T1;
C1 C2
-- --
 1 01
 2 02
 2 03
 3 04
 3 04
 3 05
 3 06

SELECT A.C1, SUBSTR(XMLAGG(XMLELEMENT(A, ',', A.C2) ORDER BY A.C2).EXTRACT ('//text()'), 2) AS C2
FROM   T1 A
GROUP BY A.C1;

C1 C2
-- --------------------------------------------------------------------------------
 1 01
 2 02,03
 3 04,04,05,06 

你可能感兴趣的:(Oracle)