理解Oracle的listagg函数:将多行数据按顺序合并为字符串(与wm_concat的不同之处)
最编程
2024-08-08 13:01:44
...
场景:
使用wm_concat函数时,会发现无法对其拼接的字符串进行排序
使用listagg函数可实现按排序进行字符串拼接
select myGroup, listagg(myStr, ',') within group(order by myNo) myStrs from myTable group by myGroup;
描述:
listagg() | 两个参数:聚合列 与 分隔符(无分隔符将直接拼接) |
within group(order by xx) | 排序 |
group by | 分组(需要进行分组时使用) |
备注:
wm_concat为wmsys用户下函数,为oracle非公开函数;
日常使用中,建议使用listagg函数