一、比较
- 共同点:这两个函数都是将一列多值合并成一行。
- 不同点:wm_concat()不支持排序,合并列值后的排序是根据合并前的顺序的;而listagg()是支持自定义排序的。
二、使用
1.测试数据:
select i.id from item i where rownum <= 5;
2.示例
select wm_concat(i.id) as wm_concat函数,
listagg(i.id, ',') WITHIN GROUP(ORDER BY i.id ) as listagg函数升序,
listagg(i.id, ',') WITHIN GROUP(ORDER BY i.id desc) as listagg函数降序
from item i
where rownum <= 5;