数据库如何将表的某一列所有值用逗号隔开去重后合并成一行
listagg函数 【返回结果为varchar2格式的数据,即拼接后的字符串最大可以保存4000字节的数据】
SELECT
LISTAGG(student name,',') WITHIN GROUP(ORDER BY student name) listagg FROM
student info t;
SELECT
t.student name,t.student sex , LISTAGG(student name ,',' WITHIN GROUP(ORDER BY student name) OVER( PARTITION BY student sex) listagg
FROM
student info t;
xmlagg【当查询结果过长,拼接的字符串长度过长大于4000字节,我们可以使用这个函数,函数返回结果为CLOB类型,大对象数据类型最大可以存储4GB的数据长度。】
SELECT
xmlagg(xmlparse(content t.student name',’ WELLFORMED) order by t.student namlistagg
FROM
student info t;