数据库应用:分组合并数据
Oracle分组合并数据的方法总结 wm_concat() 和 listagg()
原文链接:Oracle分组合并数据的方法总结 wm_concat() 和 listagg()_oracle 分组合并-CSDN博客
--课程表:学号 课程号 成绩 select * from sc;
oracle 11g分组合并数据的方法一: wm_concat()
--第一种方法: 使用 wm_concat()方法进行合并,默认以逗号分隔 --学生选了哪些课程 select sid,wm_concat(cid) from sc group by sid;
--如果不想使用逗号分隔,可以替换成其他字符 select sid,replace(wm_concat(cid),',','/') from sc group by sid;
oracle 11g分组合并数据的方法二:listagg()
注意: 需要加上 within group(order by ...)
--第二种方法: 使用listagg()方法,可以指定分隔的字符 --学生选了哪些课程 select sid,listagg(cid,',') within group(order by cid) as sid_cid from sc group by sid;
结果同wm_concat()第一种方法
----如果需要替换分隔字符,直接指定其他字符即可 select sid,listagg(cid,'/') within group(order by cid) as sid_cid from sc group by sid;
结果同wm_concat()第一种方法指定其他字符