ÏÖÔÚÓбíuser£¬×Ö¶Î name£¬age zhang 12 wang 12 li 13 ²éѯage=12µÄname£¬ÆäÖÐnameµÄ½á¹ûÊÇzhang,wang×¢Ò⣺ÓöººÅ½«½á¹ûµÄÖµÁ¬½Ó¡£¡£Êý¾Ý¿âʲô°æ±¾£¿ select wm_concat(name) from user where age=12 ²¹³äÏ£¬ÕâÊÇ10gÒÔÉ쵀 SQL code: create table t2(col1 varchar2(10),col2 varchar2(10)); insert into t2 values('001','vl1'); insert into t2 values('001','vl2'); insert into t2 values('001','vl3'); insert into t2 values('002','vl1'); insert into t2 values('002','vl2');
SELECT COL1, LTRIM(MAX(SYS_CONNECT_BY_PATH(COL2, ',')), ',') COL2 from (SELECT COL1, COL2, MIN(COL2) OVER(PARTITION BY COL1) COL2_MIN, (ROW_NUMBER() OVER(ORDER BY COL1, COL2)) + (DENSE_RANK() OVER(ORDER BY COL1)) NUMID from T2) START WITH COL2 = COL2_MIN CONNECT BY NUMID - 1 = PRIOR NUMID GROUP BY COL1