1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > MySQL拼接字符串 GROUP_CONCAT

MySQL拼接字符串 GROUP_CONCAT

时间:2022-02-14 09:55:18

相关推荐

MySQL拼接字符串 GROUP_CONCAT

​ 两位员工馮大和馮二也要面对无情的 KPI 考核了为例进行,他们工作干得很不错,performance 分别是 4 和 5

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

​ 要将结果集中某个指定的列进行字符串拼接,这要怎么做呢?

GROUP_CONCAT(expr)

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

定义

该函数返回一个字符串结果,该字符串结果是通过分组串联的非NULL值。如果没有非NULL值,则返回NULL。完整语法如下:

​ 这个语法看着太复杂了吧,别着急,下面会用例子慢慢说明逐一验证:

案例

SELECT performance, GROUP_CONCAT(employee_name) AS emloyeesFROM employeesGROUP BY performance

​ 查询结果:

​ 这样完成基本需求,考虑结果集去重,就用到了另一个关键字DISTINCT

SELECT GROUP_CONCAT(DISTINCT home_town)FROM employees

检索结果:

对结果集 进行排序呢?ORDER BY关键字就派上用场了

SELECT GROUP_CONCAT(DISTINCT home_town ORDER BY home_town DESC) AS "领导关怀地区"FROM employees

检索结果:

GROUP_CONCAT函数拼接字符串默认的分隔符是逗号, 不想用逗号的话,SEPARATOR关键字就派上用场了

SELECT GROUP_CONCAT(DISTINCT home_town ORDER BY home_town DESC SEPARATOR "!") AS "领导关怀地区"FROM employees

检索结果:

注意

GROUP_CONCAT()函数返回单个字符串,而不是值列表。这意味着我们不能在IN运算符中使用GROUP_CONCAT()函数的结果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。