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;
----效果

本文介绍了一个复杂的SQL查询案例,该查询使用了多个高级SQL技术,包括窗口函数、递归查询和路径函数等,来实现对特定数据结构的有效处理。
846

被折叠的 条评论
为什么被折叠?



