MySQL拼接字符串,GROUP_CONCAT「建议收藏」

MySQL拼接字符串,GROUP_CONCAT「建议收藏」​ 两位员工馮大和馮二也要面对无情的KPI考核了为例进行,他们工作干得很不错,performance分别是4和5​ 领导想要查看每个performance下都有谁,同时要求将这些人的名称要逗号拼接成一个字符串,也就是说要得到下面的结果:​ 要将结果集中某个指定的列进行字符串拼接,这要怎么做呢?GROUP_CONCAT(expr)​ 在Mysql官方文档中,该…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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

在这里插入图片描述

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

在这里插入图片描述

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

GROUP_CONCAT(expr)

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

在这里插入图片描述

定义

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

在这里插入图片描述

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

案例

SELECT performance, GROUP_CONCAT(employee_name) AS emloyees
FROM employees
GROUP 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()函数的结果

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187391.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中“53”个关键字(含2个保留字)

    java中“53”个关键字(含2个保留字)1.java的关键字(keyword)有多少个?   51+2个保留字=53个关键字(java的关键字都是小写的!!)    2.java的保留字(reserve word)有多少个?问题:分别是什么?    2个保留字     Java语言的的保留字是指预留的关键字    1).const  有道释义:n. 常量,

    2022年7月8日
    23
  • linux load average负载详细解释「建议收藏」

    linux load average负载详细解释「建议收藏」转载至linuxloadaverage负载详细解释一、loadaveragetop命令中loadaverage显示的是最近1分钟、5分钟和15分钟的系统平均负载。系统平均负载表示  系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:  -它没有在等待I/O操作的结果  -它没有主动…

    2022年7月17日
    16
  • 键盘win键无法使用,win+r不生效、win键没反应、Windows键失灵万能解决方案

    键盘win键无法使用,win+r不生效、win键没反应、Windows键失灵万能解决方案Windows键失灵的几种解决方案今早用抹布擦洗键盘,不断拍打键盘,清理完成后发现键盘win键无法使用1、请先按住键盘上的FN键不放,然后按一下win键,即可恢复正常2、有些笔记本是fn+f2,或者是fn+f6锁了win键,导致win键按了没反应,再按一次即可正常3、有些机械键盘的游戏模式会屏蔽win键可以使用fn+有游戏图标的那个键即可恢复正常4、根据不同的键盘和电脑,可能有一些别的特殊按键也会锁定win键,造成无法使用,可以依次尝试fn+某些功能键来解锁5、万能终…

    2022年5月4日
    2.2K
  • oracle创建用户与分配权限

    oracle创建用户与分配权限oracle创建用户与分配权限我们要在有最高权限的system用户创建用户,再赋予新建用户权限,只有给新建用户权限,新建用户才能干什么。CREATEUSER创建用户DBA(数据库管理者)使用CREATEUSER语句创建用户注意刚刚创建用户,仅仅是有这个用户的存在,还没有创建会话窗口的权限,进不了oracle界面CREATEUSERTestUser-…

    2022年5月19日
    38
  • 系统运维架构 DevOps

    系统运维架构 DevOps一套大而全的系统架构体系与具体落地方案 写在最前面上次参加DBAplus举办的敏捷运维峰会时,一个兄弟的提问一直萦绕耳边,由于时间有限没有进行深入的交流,甚是遗憾。那个问题是:你们公司的IT系统架构是怎样的?又如何具体落地?采用了哪些开源或是商业的技术?其实之前也写过或是做过一些关于系统架构的分享,或多或少的个人或其它限制,总觉得未能尽兴,留有遗憾。因此经过最近一个多月的总结和梳理…

    2022年7月17日
    10
  • 学习笔记:Oracle dul数据挖掘 使用DUL数据恢复软件恢复分区表中

    学习笔记:Oracle dul数据挖掘 使用DUL数据恢复软件恢复分区表中

    2021年9月16日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号