服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL拼接字符串函数GROUP_CONCAT详解

MySQL拼接字符串函数GROUP_CONCAT详解

2021-01-05 15:37日拱一兵 Mysql

本文给大家详细讲解了MySQL的拼接字符串函数GROUP_CONCAT的几种使用方法以及详细示例,有需要的小伙伴可以参考下

上一篇文章 跨表更新,看到自己写的SQL像个憨憨写了关于跨表个更新的内容。一年过的很快,文中后来的两位员工 馮大馮二 也要面对无情的 KPI 考核了,他们工作干的很不错,performance 分别是 4 和 5

MySQL拼接字符串函数GROUP_CONCAT详解

新需求来了,静悄悄的来了!!! 领导想要查看每个 performance 下都有谁,同时要求将这些人的名称要逗号拼接成一个字符串,也就是说要得到下面的结果:

MySQL拼接字符串函数GROUP_CONCAT详解

要将结果集中某个指定的列进行字符串拼接,这要怎么做呢?主角闪亮✨登场

GROUP_CONCAT(expr)

在 Mysql 官方文档 中,该函数被放在聚合函数章节,如果你要按照指定字段分组拼接,就要配合关键字 GROUP BY 来使用的

MySQL拼接字符串函数GROUP_CONCAT详解

定义

该函数返回一个字符串结果,该字符串结果是通过分组串联的非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是这个结果:

MySQL拼接字符串函数GROUP_CONCAT详解

到这里,领导给过来的需求就完成了

延伸 · 阅读

精彩推荐