oracle 按字段分组,非分组字段进行合并(可根据字段排序)

select
 ltrim(max(sys_connect_by_path( c , ',')), ',')   as sql_
from (
    select  row_number() over (partition by s.a order by s.b ) rn,s.*
    from t_test_one s
    ) c
start with rn = 1
connect by prior rn = rn - 1 and prior  c.a=c.a
group by c.a
order by c.a;

按 t_test_one 表的a字段进行分组,组内按b的顺序进行排序,最后通过sys_connect_by_path 这个函数进行合并。

猜你喜欢

转载自z10one.iteye.com/blog/2272068
今日推荐