用SQL将查询出来的多列的值拼接成一个字符串
2016-05-20 09:59
477 查看
用SQL将查询出来的多列的值拼接成一个字符串
MySQL中:
[sql]
-- 单列拼接,先查出一行,再加上逗号,接着拼接 查出的下一行
select group_concat(E.SUPPORT)
from ENGINES E
where E.XA IN('YES','NO')
--结果如下:YES,YES,YES,YES,YES,YES,DEFAULT,YES
-- 将查询的结果中的 "," 号,替换成 "**" 号
select REPLACE(group_concat(E.SUPPORT),',','**')
from ENGINES E
where E.XA IN('YES','NO')
--结果如下:YES**YES**YES**YES**YES**YES**DEFAULT**YES
-- 将查询的结果中 重复 的记录 去掉,只剩一条记录,然后再拼接
select group_concat(DISTINCT(E.SUPPORT))
from ENGINES E
where E.XA IN('YES','NO')
--结果如下:YES,DEFAULT
-- 多列拼接,同一行的先拼接,再加上逗号,接着拼接下一行
select group_concat(E.ENGINE,E.SUPPORT)
from ENGINES E
where E.XA IN('YES','NO')
--结果如下:MRG_MYISAMYES,MyISAMYES,BLACKHOLEYES,CSVYES,MEMORYYES,ARCHIVEYES,InnoDBDEFAULT,PERFORMANCE_SCHEMAYES
MySQL中:
[sql]
-- 单列拼接,先查出一行,再加上逗号,接着拼接 查出的下一行
select group_concat(E.SUPPORT)
from ENGINES E
where E.XA IN('YES','NO')
--结果如下:YES,YES,YES,YES,YES,YES,DEFAULT,YES
-- 将查询的结果中的 "," 号,替换成 "**" 号
select REPLACE(group_concat(E.SUPPORT),',','**')
from ENGINES E
where E.XA IN('YES','NO')
--结果如下:YES**YES**YES**YES**YES**YES**DEFAULT**YES
-- 将查询的结果中 重复 的记录 去掉,只剩一条记录,然后再拼接
select group_concat(DISTINCT(E.SUPPORT))
from ENGINES E
where E.XA IN('YES','NO')
--结果如下:YES,DEFAULT
-- 多列拼接,同一行的先拼接,再加上逗号,接着拼接下一行
select group_concat(E.ENGINE,E.SUPPORT)
from ENGINES E
where E.XA IN('YES','NO')
--结果如下:MRG_MYISAMYES,MyISAMYES,BLACKHOLEYES,CSVYES,MEMORYYES,ARCHIVEYES,InnoDBDEFAULT,PERFORMANCE_SCHEMAYES
相关文章推荐
- sql查询当前月内的所有日期
- mysql主从搭建
- Mysql修改root用户密码 For Mac 报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
- Oracle存储过程拼接in语句 & 自定义split函数
- 百万数据修改索引或主键的超时问题(Timeout)
- 页面获取MySQL时间转换(个人菜鸟笔记)
- 甲骨文:Android 是破坏开源的罪犯!
- 甲骨文:Android 是破坏开源的罪犯!
- redis缓存方法
- CentOS_6.5安装Redis_3.0.2
- mysql导入数据load data infile用法
- Oracle数据库——表的创建与管理
- 根据B表数据更新A表
- redis的数据类型及设置方法
- mariadb主从部署
- SQL跨数据库复制表数据
- Oracle数据库——用户、方案的创建与管理
- Codis升级到2.0.14的最简方法
- mysql 命令
- mysql字符集修改