您的位置:首页 > 数据库 > Oracle

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

2017-10-18 16:59 471 查看

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

xxx为不需要拼接的所有字段
如果有不需要拼接的字段,一定要用group by


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

如图:



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

如图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: