|
WITH T1 AS
(
SELECT '1234' AS COL,'甘肃省立第一中学' AS COL2,'GROUP' AS PART
FROM DUAL
CONNECT BY LEVEL <=200
union all
SELECT '5678' AS COL,'北大' AS COL2,'GROUP' AS PART
FROM DUAL
CONNECT BY LEVEL <=200
)
,t2 as
(select t1.*,rownum rn from t1 where col='5678' )
,t3 as
(select t1.*,rownum rn from t1 where col<>'5678' or col is null)
select COL,COL2,PART,COL2 COL2LIST from t3
union all
SELECT COL,COL2,PART,
LISTAGG(COL2,',') WITHIN GROUP(ORDER BY COL2) OVER (PARTITION BY PART) AS COL2LIST
FROM T2;
在11.2不错 |
|