设有如下表 T
A B
-----------
1 01
1 02
1 03
2 04
2 05
3 06
执行如下 sql
select a,replace(max(sys_connect_by_path(b,';')),';','') b
from (select a,b,
(row_number() over(order by a,b)
+ dense_rank() over(order by a)) rn,
min(b) over(partition by a) mb
from t
)
start with b = mb
connect by rn-1 = prior rn
group by a
可得如下结果
A B
--------------------
1 010203
2 0405
3 06