mysql concat 去重 group_concat() 用法
硅谷探秘者
2年前发表
mysql,数据库
0
0
2336
MySQL group_concat() 函数用法
在使用 group by 对数据进行分组后,如果需要对 select 的数据项进行字符串拼接,这时就需要用到group_concat()函数。
1、基本用法
group_concat() 完整语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符'])
通过 distinct可以去掉重复值,order by进行排序,separator指定分隔符,默认为逗号。
以一下数据为例演示:
![]()
2、基本字符串拼接
SELECT
province,
group_concat(city) citys
from region GROUP BY province
查询结果:
![]()
3、去重
SELECT
province,
group_concat(DISTINCT city) citys
from region GROUP BY province
查询结果:
![]()
4、order by 排序
SELECT
province,
group_concat(DISTINCT city ORDER BY sort asc) citys
from region GROUP BY province
查询结果:
![]()
四、separator 指定分隔符
SELECT
province,
group_concat(DISTINCT city ORDER BY sort asc Separator ' / ') citys
from region GROUP BY province
查询结果:
![]()
五、多字段拼接
以上的例子是基于单数据列演示的,如果需要多个数据列拼成一个字段返回的话,写法也很简单,如下所示:
group_concat(数据列1,'分隔符',数据列2,Separator '分隔符')
SELECT
province,
group_concat(city,':',sort Separator ' / ') citys
from region GROUP BY province
查询结果:
![]()