oracle 多行合并为一行

sys_connect_by_path 

select i,ltrim(max(sys_connect_by_path(a,',')),',') afrom(select i,a,d,min(d) over(partition by i) d_min,(row_number() over(order by i,d))+(dense_rank() over (order by i)) numidfrom t)start with d=d_min connect by numid-1=prior numidgroup by i;

wm_sys.wm_concat

select i,wmsys.wm_concat(a) from t group by i;

原文地址:https://www.cnblogs.com/mingjing/p/6006763.html