mysql GROUP_CONCAT分组连接

文章目录

  • GROUP_CONCAT 分组连接
  • GROUP_CANCAT 的使用
    • 分班级列出名单
    • 分班级列出名单并包含显示性别
    • 组合IFNULL
    • 组合IF
    • 组合case when

GROUP_CONCAT 分组连接

准备的数据示例
在这里插入图片描述

CREATE TABLE `students` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `className` varchar(100) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `sex` int(11) DEFAULT NULL COMMENT '性别 1 男 2女',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4;
INSERT INTO db1.students
(id, name, className, age, sex)
VALUES(1, '王晓宇', '六(1)班', 12, 2);
INSERT INTO db1.students
(id, name, className, age, sex)
VALUES(2, '杜明月', '六(1)班', 11, 2);
INSERT INTO db1.students
(id, name, className, age, sex)
VALUES(8, '李慕然', '六(1)班', 11, 1);
INSERT INTO db1.students
(id, name, className, age, sex)
VALUES(9, '马曦铭', '六(1)班', 11, 1);
INSERT INTO db1.students
(id, name, className, age, sex)
VALUES(10, '王秋白', '六(2)班', 11, 1);
INSERT INTO db1.students
(id, name, className, age, sex)
VALUES(11, '刘胜明', '六(3)班', 11, NULL);

GROUP_CANCAT 的使用

分班级列出名单

select className ,GROUP_CONCAT(name)  from students s  group by s.className 

在这里插入图片描述

分班级列出名单并包含显示性别

由于存在用于没有填写性别,所以这里不能直接CONCAT,否则就像下面的情况,存在空值的行连接被丢弃

select className ,GROUP_CONCAT(name,'(',sex,')')  from students s  group by s.className

在这里插入图片描述

组合IFNULL

我们可以使用IFNULL将其转换

select className ,GROUP_CONCAT(name,'(',IFNULL(sex,0),')')  from students s  group by s.className

在这里插入图片描述

组合IF

将其转换为中文性别

select className ,GROUP_CONCAT(name,'(',IF(sex=1,'男',IF(sex=2,'女','未填写')),')')  from students s  group by s.className

在这里插入图片描述

组合case when

select className ,GROUP_CONCAT(name,'(',CASE WHEN sex is null THEN '未填写' WHEN sex=1 THEN '男' WHEN sex =2 THEN '女' END  ,')') 
from students s  group by s.className

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/745253.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS Pro三维空间分析、专题制图、遥感制图全流程系统教学

ESRI宣布:ArcGIS 10.8.2 是 ArcMap 的当前版本,在 2026 年 3 月 1 日之前将继续受支持。我们没有计划在 2021/22 年随 ArcGIS 版本一起发布 ArcMap 10.9.x。这意味着 10.8.x 系列将是 ArcMap 的最终版本系列,并将在 2026 年 3 月 1 日之前受支…

KING大咖直播 | 人大金仓深度解析KES执行计划缓存

对数据库查询迟缓深感困扰? 担心高并发场景下数据库性能拖后腿? 🙅别再烦恼了~ 执行计划缓存功能正是你的救星✨ KES执行计划缓存 减少SQL查询的解析和优化时间 让你的数据库 在高并发场景下依然保持高性能! 6月27日19:30-20:30 锁…

10个国内免费AI绘画网站汇总【2024最新】

迎战MidJourney和Stable Diffusion:10款国产AI绘画神器,让你轻松创作出超凡艺术品!不论你是初学者还是资深艺术家,这些AI绘画平台都能帮你轻松入门。快来探索这些AI绘画网站,释放你的创意潜能! 1、AI绘画创…

algorithm中常见算法

1、前言 C的<algorithm>库是C标准库中的一个重要组成部分&#xff0c;它提供了一系列的函数&#xff0c;用于执行各种常见的算法操作&#xff0c;比如排序、查找、替换、合并等。这些算法函数通常以模板函数的形式提供&#xff0c;可以用于任何符合特定条件的容器类型。 …

SaaS技术解析:如何构建高效、安全的软件即服务解决方案

摘要&#xff1a;随着云计算技术的飞速发展&#xff0c;软件即服务&#xff08;Software as a Service&#xff0c;简称SaaS&#xff09;作为一种新兴的软件应用模式&#xff0c;正逐渐改变着企业信息化的格局。本文将对SaaS技术进行深入解析&#xff0c;探讨如何构建高效、安全…

校园巡礼:一周只上四天课,入学即发钱?深圳理工大学,开局即王炸

校园巡礼 | 一周只上四天课&#xff0c;入学即发钱&#xff1f;深圳理工大学&#xff0c;开局即王炸&#xff01; 会议之眼 快讯 目前各省的高考成绩现已陆续揭晓&#xff0c;广东省教育考试院发布了2024年高考录取最低分数线&#xff0c;物理类本科线为442分&#xff0c;历史…

Rocky Linux设置静态IP

[connection] idens160 uuidcd246f67-c929-362a-809d-f1b44ddc5d25 typeethernet autoconnect-priority-999 interface-nameens160 timestamp1719094243[ethernet][ipv4] ## 在IPV4下面修改如下内容 methodmanual address192.…

科普文:贝叶斯过滤器判定垃圾邮件

简介 贝叶斯分类的运作是借着使用标记(一般是字词&#xff0c;有时候是其他)与垃圾邮件、非垃圾邮件的关连&#xff0c;然后搭配贝叶斯推断来计算一封邮件为垃圾邮件的可能性。 贝叶斯垃圾邮件过滤是非常有威力的技术&#xff0c;可以修改自己以符合个别使用者的需要&#xff0…

pdf压缩,pdf压缩在线,pdf压缩在线网页版

当我们遇到PDF文件过大&#xff0c;需要压缩其容量大小时&#xff0c;通常是为了更方便地传输、存储或分享这些文件。PDF文件的大小可能因其包含的图像、字体等元素的数量和质量而有所不同。下面&#xff0c;我们将详细介绍压缩PDF容量大小的方法&#xff0c;帮助您轻松实现文件…

TikTok短视频矩阵系统

随着数字化时代的到来&#xff0c;短视频已成为人们获取信息、娱乐消遣的重要渠道。TikTok&#xff0c;作为全球最受欢迎的短视频平台之一&#xff0c;其背后的短视频矩阵系统是支撑其成功的关键因素。本文将深入探讨TikTok短视频矩阵系统的构成、功能以及它在新媒体时代中的影…

基于 JuiceFS 构建高校 AI 存储方案:高并发、系统稳定、运维简单

中山大学的 iSEE 实验室&#xff08;Intelligence Science and System) Lab&#xff09;在进行深度学习任务时&#xff0c;需要处理大量小文件读取。在高并发读写场景下&#xff0c;原先使用的 NFS 性能较低&#xff0c;常在高峰期导致数据节点卡死。此外&#xff0c;NFS 系统的…

《Three.JS零基础入门教程》第九篇:环境详解

往期回顾&#xff1a; 《Three.JS零基础入门教程》第一篇&#xff1a;搭建开发环境 《Three.JS零基础入门教程》第二篇&#xff1a;起步案例 《Three.JS零基础入门教程》第三篇&#xff1a;开发辅助 《Three.JS零基础入门教程》第四篇&#xff1a;基础变换 《Three.JS零基…

element-ui侧边栏:default-openeds

element-ui侧边栏实现路由跳转后展开对应侧边栏&#xff1a;default-openeds 当菜单是在本地写死时&#xff0c;如果想展开第一块内容、里面就只写1 :default-openeds"[‘1’]" 当菜单是动态获取时&#xff0c;点击跳转之后如何展开对应的菜单&#xff0c;在watch中监…

三元前驱体废水回收镍钴工艺:环保与经济效益的双重胜利

在全球新能源产业迅猛发展的背景下&#xff0c;锂离子电池作为绿色能源的核心组件&#xff0c;其需求量激增&#xff0c;带动了上游材料市场&#xff0c;尤其是三元前驱体材料的蓬勃发展。然而&#xff0c;伴随着行业的快速扩张&#xff0c;三元前驱体生产过程中产生的含镍钴废…

嘉绩咨询低成本连锁品牌招商全案陪跑赋能中小品牌有效招商

以企业战略导航为基石&#xff0c;致力于构建全面招商生态系统的嘉绩咨询&#xff0c;今天宣布推出面向中小品牌的低成本连锁招商全案陪跑服务。这项创新服务是为了帮助具有潜力的中小品牌在市场中迅速构建渠道&#xff0c;通过有效招商策略促进成长。 嘉绩咨询凭借先进的“教育…

PCI认证HSM的特点

PCI认证HSM(硬件安全模块)在支付卡行业中扮演着至关重要的角色&#xff0c;它是确保支付交易数据完整性和机密性的关键组件。以下是关于PCI认证HSM的详细介绍&#xff1a; 一、PCI认证HSM的定义 PCI认证HSM是专门用于支付行业的硬件安全模块&#xff0c;它满足支付卡行业(PCI)的…

【unity实战】Unity中基于瓦片的网格库存系统——类似《逃离塔科夫》的库存系统

最终效果 文章目录 最终效果前言素材下载图片配置获取格子坐标动态控制背包大小添加物品移动物品物品跟随鼠标创建物品的容器&#xff0c;定义不同物品修改物品尺寸修复物品放置位置问题按物品尺寸占用对应大小的格子判断物品是否超出边界范围物品放置重叠&#xff0c;交换物品…

Oracle优化案例-教你在线搞定top cpu的sql(十二)

监控告警阈值load 大于10 SQL如下&#xff0c;太好用了 SELECT A.SQL_ID, A.SESS_COUNT, A.CPU_LOAD, B.SQL_TEXTFROM (SELECT SQL_ID,COUNT(*) SESS_COUNT,ROUND(COUNT(*) / SUM(COUNT(*)) OVER(), 2) CPU_LOADFROM V$ACTIVE_SESSION_HISTORYWHERE SAMPLE_TIME > SYSDATE…

[深度学习] 门控循环单元GRU

门控循环单元&#xff08;Gated Recurrent Unit, GRU&#xff09;是一种用于处理序列数据的递归神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;变体&#xff0c;它通过引入门控机制来解决传统RNN在处理长序列时的梯度消失问题。GRU与长短期记忆网络&#xff0…

反射及动态代理

反射 定义&#xff1a; 反射允许对封装类的字段&#xff0c;方法和构造 函数的信息进行编程访问 图来自黑马程序员 获取class对象的三种方式&#xff1a; 1&#xff09;Class.forName("全类名") 2&#xff09;类名.class 3) 对象.getClass() 图来自黑马程序员 pac…