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

MySQL中的CONCAT、CONCAT_WS、GROUP_CONCAT函数,实现多行和多列的内容放在一个单元格内

2017-09-23 09:33 627 查看

CONCAT()函数

concat查询列合并,列之间无分隔符号

通用模板

查询语句:
select concat(columnname,columnname,...) as byname from tablename;

查询结果(多列合并的结果不会出现分隔符):

byname
columnvaluecolumnvalue...

实例

实验表名:people
实验表数据如下:



查询语句:
SELECT CONCAT(id,name,sex,high) as con FROM people;

查询结果:



concat查询列合并,列之间设置分隔符号

通用模板:

查询语句(如果想列之间都出现分隔符,需要在查询语句中添加n-1个分割符号。此时建议使用concat_ws()方法):
select concat(columnname,'separator',columnname,'separator',...) as byname from tablename;







实例

查询语句(采用1.1.2中使用的数据):
SELECT CONCAT(id,',',NAME,sex,high) AS con FROM people;

查询结果:



CONCAT_WS()函数

 CONCAT_WS()函数是CONCAT()的特殊形式,再次单独列出。

 通用模板

查询语句:

select CONCAT_WS('separator',columnname,columnname,...) as byname FROM tablename;

查询结果:

byname
columnvalueseparatorcolumnvalueseparator...

实例

查询语句(数据采用1.1.2):
SELECT CONCAT_WS(',',id,name,sex,high) as con_ws FROM people;

查询结果:



GROUP_CONCAT()函数

根据分组,对分组的数据通过分组放在一行中。实现多行分组合并

通用模板

查询语句:
select groupcolumnname,GROUP_CONCAT(columnname GROUP BY columnname SEPARATOR 'serartor') AS byname FROM tablename GROUP BY groupcolumnname;

查询结果:
groupcolumnname                  byname
groupcolumnvalue                 columnvalueseparatorcolumnvalueseparator...

实例

查询语句(表数据参考1.1.2):
SELECT sex,GROUP_CONCAT(name ORDER BY name SEPARATOR ',') as names from people
GROUP BY sex;

查询结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐