| 27
c | 12
d | 53
a | 19
想要多行转一行并且按照duration排序...,形成如下效果d,e,a,b,c,f
首先排序:row_number() over (partition by category order by cast(duration as int) desc)...(
collect_list(
concat_ws(':',lpad(cast(duration_rank as string),5,'0'),cast(category as...,如果不补0的话,按字典序排序就会变成1, 10, 11, 12, 13, 2, 3, 4......将排序的结果拼起来之后,用regexp_replace函数替换掉冒号及其前面的数字,大功告成。