登录
首页 >  数据库 >  MySQL

MYSQL的GROUP_CONCAT函数

来源:SegmentFault

时间:2023-01-12 09:58:05 372浏览 收藏

小伙伴们有没有觉得学习数据库很有意思?有意思就对了!今天就给大家带来《MYSQL的GROUP_CONCAT函数》,以下内容将会涉及到MySQL、数据库、MySQL优化,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

函数作用

用到group by时, 能将相同的行组合起来。

函数语法

group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符'] )

例子

比如我们有一个商品规格表,我想在后台看到不同种类的商品都有哪些规格,id代表商品种类,spec代表商品规格


商品规格表

id  |  spec  
1   |  黄色  
1   |  绿色
3   |  100g 
3   |  60g
4   |  38m

那么我们就可以这么写
以id分组,把spec字段的值打印在一行,按照spec倒序排列


select id,group_concat(spec order by spec) from 规格表 group by id;  
|1 | 黄色,绿色|
|3 | 60g,100g|
|4 | 38m|

默认是以逗号分隔,我们也可以改成分号

select id,group_concat(spec separator ';') from 规格表 group by id;  
|1 | 黄色;绿色|
|3 | 60g;100g|
|4 | 38m|

补充:

还可以用distinct去掉重复的数值,也可以多个字段拼接

感受:

这个函数不复杂,只是感觉应该会经常用到,以前总是习惯筛选之后用程序拼接,其实有些多余了.
使用场景视具体情况而定,这个都不是绝对的。希望对大家有帮助。

终于介绍完啦!小伙伴们,这篇关于《MYSQL的GROUP_CONCAT函数》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>