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

oracle mysql group by 对剩余字段进行拼接

2016-04-27 14:00 701 查看

效果:





oracle:

一、10G以前使用WMSYS.WM_CONCAT

wmsys.wm_concat将字段的值用”,”来隔开。

select id,wm_concat(name) from tab_name group by id;

二、sys_connect_by_path

sys_connect_by_path(字段名, 2个字段之间的连接符号),这里的连接符号不要使用逗号,oracle会报错,如果一定要用,可以使用replace替换一下,方法如下 REPLACE(字段名,原字符,’,’)。这个函数使用之前必须先建立一个树,否则无用。

三、11G以后使用listagg

select listagg(id,’,’) within group (order by id) col_name from tab_name;

mysql:

SELECT t.`role_id` 应用, GROUP_CONCAT(t.`permission_id`) 市场 FROM role_permission t GROUP BY t.`role_id`;
SELECT * FROM role_permission;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle mysql