主要用到 oracle函数
select assess_single_id,
ltrim(max(sys_connect_by_path(criteria_code, ',')),',') as criteria_code,
ltrim(max(sys_connect_by_path(score, ',')),',') as score,
sum(score) 总分
from (
select assess_single_id,
criteria_code,
score,
row_number() over (partition by assess_single_id order by criteria_code) rn,
row_number() over(order by assess_single_id )
+dense_rank() over (order by assess_single_id)
numid
from sup_assess_project_detail t
)
start with rn =1
connect by numid - 1 = prior numid
group by assess_single_id