oracle mysql group by 对剩余字段进行拼接
2016-04-27 14:00
701 查看
效果:
oracle:
一、10G以前使用WMSYS.WM_CONCATwmsys.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;
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- MySQL 备份和恢复策略
- 表空间操作
- PreparedStatement中in子句的处理
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)