MySQL中函数CONCAT&CONCAT_WS及GROUP_CONCAT
来源:互联网 发布:淘宝一千零一夜报名 编辑:程序博客网 时间:2024/04/30 06:17
表结构
CREATE TABLE `test3` (
`id` int(5) unsigned NOT NULL AUTO_INCREMENT,
`name1` varchar(10) DEFAULT NULL,
`name2` varchar(10) DEFAULT NULL,
`cnt` int(2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1
数据
1 rank1subrank11
2 rank1 subrank1 2
3 rank2 subrank1 7
4 rank2 subrank2 2
5 rank3 subrank1 1
6 rank1 subrank2 3
CONCAT的语法 CONCAT(str1,str2,…)
sql 的实际执行情况 SELECT *,CONCAT(id,',',name1,'--',name2) AS con FROM test3;
1 rank1subrank111,rank1--subrank1
2 rank1 subrank1 2 2,rank1--subrank1
3 rank2 subrank1 7 3,rank2--subrank1
4 rank2 subrank2 2 4,rank2--subrank2
5 rank3 subrank1 1 5,rank3--subrank1
6 rank1 subrank2 3 6,rank1--subrank2
CONCAT_WS的语法CONCAT_WS(separator,str1,str2,…)
sql 的实际执行情况 SELECT *,CONCAT_WS(',',id,name1,name2) AS con FROM test3;
1rank1subrank111,rank1,subrank1
2 rank1 subrank1 2 2,rank1,subrank1
3 rank2 subrank1 7 3,rank2,subrank1
4 rank2 subrank2 2 4,rank2,subrank2
5 rank3 subrank1 1 5,rank3,subrank1
6 rank1 subrank2 3 6,rank1,subrank2
可以看出CONCAT_WS 是CONCAT的特殊情况, 制定加入字符串间的 符号,无需分别指明
group_concate的语法 select str1,...group by (strx) from table group by str1;
可以将按照字符串分组时,分组
建表:
CREATE TABLE `test4` (
`id` int(11) DEFAULT NULL,
`name` varchar(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
数据:
insert into test4 (id,name) values (1,"aa"),(1,"bb"),(1,"cc"),(2,"dd"),(2,"ee"),(3,"ff");
sql语句:
select id ,group_concat(name) from test4 group by id;
select id ,group_concat(name separator ';') from test4 group by id; 使用自定义分隔符
结果:
1 aa,bb,cc
2 dd,ee
3 ff
可以 使用group_concat 将 使用 group by时去除的重复列的数据去除,组成新的一列;
group_concat(参数) 其中 参数 可以是 "字段"或"字符串"
以下是sql 错误时发现的现象,可以部分说明group_concat 的执行原理
select id ,group_concat("name") from test4 group by id;
1 name,name,name
2 name,name
3 name
可以说明 group_concat 是先计算group by str 的 每一个分组中的去除重复列的 数目,再使用 group_concat("参数") 替换
- MySQL中函数CONCAT&CONCAT_WS及GROUP_CONCAT
- MySQL中concat函数,concat_ws函数,group_concat函数,repeat()函数
- MySQL中concat函数,concat_ws,group_concat,repeat() 函数用法
- MySQL concat、concat_ws、group_concat函数用法
- MySQL连接字符串函数concat, concat_ws, group_concat
- MySQL的concat、concat_ws、group_concat函数用法
- MySQL的concat,concat_ws,group_concat
- concat(),concat_ws()与group_concat()函数
- concat、concat_ws、group_concat函数用法
- MySQL中函数CONCAT及GROUP_CONCAT
- MySQL中函数CONCAT及GROUP_CONCAT
- MySQL中函数CONCAT及GROUP_CONCAT
- MySQL中函数CONCAT及GROUP_CONCAT
- MySQL中函数CONCAT及GROUP_CONCAT
- MySQL中函数CONCAT及GROUP_CONCAT
- MySQL中函数CONCAT及GROUP_CONCAT
- MySQL中函数CONCAT及GROUP_CONCAT
- MySQL中函数CONCAT及GROUP_CONCAT
- jq 查找控件
- linux面试题
- PowerDesigner导入sql文件
- python 乘法口诀
- MFC使用windows图片查看器
- MySQL中函数CONCAT&CONCAT_WS及GROUP_CONCAT
- 面试的那些事
- 动态绑定方法
- iOS开发多线程篇—GCD的常见用法
- Linux 退出Vi编辑器
- Linux平台下的Intellij IDEA基本设置
- 远程调试
- Collection 集合框架 体系概述 java
- yocto的文件下载支持介绍