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

2017-10-18 18:54:23来源:CSDN作者:fantasic_van人点击

分享

需求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)

如图:
这里写图片描述

微信扫一扫

第七城市微信公众平台