Oracle 查询中将结果分组并用逗号隔开,拼接成一行(listagg函数)

如下:
A  B
a  1
a  2
b  3
b  4
A、B两列是查询结果,现要展示成如下:
  A  B
a  1,2
b  3,4
可以使用 listagg 函数:
select A,listagg(to_char(B),',') within group (order by B) as B
from table
group by A
listagg 乱码问题解决:将字段 to_char 即可。