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

本文详细介绍了MySQL中的CONCAT、CONCAT_WS和GROUP_CONCAT函数,用于将多行和多列的数据合并到一个单元格内。CONCAT函数可以合并列而无需分隔符,CONCAT_WS则允许指定分隔符进行合并。GROUP_CONCAT函数根据分组将多行数据合并成一行,尤其适用于数据汇总。通过实例展示了它们的用法和效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 SEPARATOR 'serartor') AS byname FROM tablename GROUP BY groupcolumnname;

查询结果:

groupcolumnname                  byname
groupcolumnvalue                 columnvalueseparatorcolumnvalueseparator...

实例

查询语句(表数据参考1.1.2):

SELECT sex,GROUP_CONCAT(name SEPARATOR ',') as names from people
GROUP BY sex;

查询结果:


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值