oracle 11g 使用listagg函数合并多行为一行

来源:互联网 发布:淘宝收藏加购软件 编辑:程序博客网 时间:2024/05/18 21:07

需求1: 查询有几条记录,N个字段,但只有一个字段的值不同,现在需要将多条记录合成一条,值不同的字段采用逗号拼接

解决方法:listagg(xxx,’,’) within group (order by xxx)
oralce 11g,多条记录,仅有一个字段你的值不一样,需要拼接成一条

select xx, listagg(p.process_user,',') within GROUP (order by b.id)  from table group by xxxxxx为不需要拼接的所有字段如果有不需要拼接的字段,一定要用group by

需求2: 查询多条记录,直接拼接成一条:

如图:
这里写图片描述

解决方法: 同样使用listagg(xxx, ‘,’) within group(order by xxxxx)

如图:
这里写图片描述

原创粉丝点击