MySQL拼接字符串函数GROUP_CONCAT详解
吾爱主题
阅读:231
2024-04-05 16:20:13
评论:0
上一篇文章 跨表更新,看到自己写的SQL像个憨憨写了关于跨表个更新的内容。一年过的很快,文中后来的两位员工 馮大
和 馮二
也要面对无情的 KPI 考核了,他们工作干的很不错,performance 分别是 4 和 5
新需求来了,静悄悄的来了!!! 领导想要查看每个 performance 下都有谁,同时要求将这些人的名称要逗号拼接成一个字符串,也就是说要得到下面的结果:
要将结果集中某个指定的列进行字符串拼接,这要怎么做呢?主角闪亮登场
GROUP_CONCAT(expr)
在 Mysql 官方文档 中,该函数被放在聚合函数章节,如果你要按照指定字段分组拼接,就要配合关键字 GROUP BY
来使用的
定义
该函数返回一个字符串结果,该字符串结果是通过分组串联的
非NULL值
。如果没有非NULL值,则返回NULL。完整语法如下:
?
1 2 3 4 | GROUP_CONCAT([ DISTINCT ] expr [,expr ...] [ ORDER BY {unsigned_integer | col_name | expr} [ ASC | DESC ] [,col_name ...]] [SEPARATOR str_val]) |
What? 这个语法看着太复杂了吧,别着急,下面会用例子慢慢说明逐一验证滴
使用案例
先完成文章开头的需求:
?1 2 3 | SELECT performance, GROUP_CONCAT(employee_name) AS employees FROM employees GROUP BY performance; |
zou是这个结果:
到这里,领导给过来的需求就完成了
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。