ORACLE的LISTAGG() WITHIN GROUP ()使用

长话短说,oracle中的LISTAGG() WITHIN GROUP ()把一列的值合并为一个值,用指定的分隔符隔开,根据条件汇总某些列上的字段,就是根据某些指定的条件,把该列的字段,汇总在行的一个字段里,行转列函数;

需要注意的事项如下:

(1)group  by是必须的,必须得分组。
(2)listagg函数的第一个参数是需要显示的字段;第二个参数是数值之间的分隔符;同时还需要进行排序和分组within group (order by 字段名)

举例说明:

select * from userinfo

ORACLE的LISTAGG() WITHIN GROUP ()使用_第1张图片
把上面name的列上的所有值合并在一行一列表示:

select listagg(name, ',') within group( order by name) as name from userinfo 

在这里插入图片描述

你可能感兴趣的:(数据库,oracle,数据库,sql)