Oracle多行数据合并成一行
一、listagg 函数------(有长度限制)
SELECT listagg(待拼接字段, ',') within group(ORDER BY 待拼接字段) AS NAMES FROM 表 GROUP BY 字段
二、用聚合函数,然后使用 wmsys.wm_concat(拼接字段) 方法------(有长度限制,可去重)
select wmsys.wm_concat(distinct ) as id from table t group by
无长度限制的方法
select XMLAGG( XMLELEMENT(E, 待拼接字段 || ',') ORDER BY 排序字段 ).EXTRACT('//text()').getclobval() as 别名 from 表名 GROUP BY 分组字段
或SELECT rtrim( xmlagg( xmlparse(content 待拼接字段 || ',' wellformed) ORDER BY 排序字段 ).getclobval(), ',') 别名 from 表名 GROUP BY 分组字段 //该方法更快