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.mzph.cn/bicheng/35409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rust监控可观测性

可观测性 在监控章节的引言中,我们提到了老板、前端、后端眼中的监控是各不相同的,那么有没有办法将监控模型进行抽象、统一呢? 来简单分析一下: 业务指标实时展示,这是一个指标型的数据( metric )手机 APP 上传的数…

Karabiner-Elements 设置mac键盘

软件下载地址: Karabiner-Elements 修改键盘位置,但是重启后,就消失了。 {"description": "New Rule (change left_shiftcaps_lock to page_down, right_shiftcaps_lock to left_commandmission_control)","manip…

Python下三方库pyttsx3让你的文本读出来(Win10环境)

一、三方库pyttsx3简介: pyttsx3是一个文本到语音转换的Python库,能够跨平台工作在Windows、MacOS和Linux系统上。这个库的一个显著特点是它不依赖于网络连接,因为它使用了系统自带的语音引擎。pyttsx3支持多种语音属性,包括语速…

Android简介-历史、API等级与体系结构

1. Android简介 Android是一种基于Linux内核的自由及开放源代码的操作系统。最初是由安迪鲁宾(Andy Rubin)开发的一款相机操作系统。2005年8月被Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。…

Kylin维度与度量:大数据分析的双剑合璧

Kylin维度与度量:大数据分析的双剑合璧 在大数据分析的浩瀚宇宙中,Apache Kylin作为一颗璀璨的星辰,以其卓越的预计算能力,为数据分析提供了前所未有的速度与效率。Kylin的维度和度量,构成了其多维数据分析的核心&…

【AI原理解析】—决策树原理

目录 一、定义与背景 二、基本组成 三、构建过程(以分类问题为例) 四、剪枝处理 五、算法与应用 一、定义与背景 决策树是一种基于树形结构的监督学习算法,主要用于分类和回归问题。它通过构建一棵树来模拟人类进行决策的过程&#xff0…

学历优先还是专业优先?高考志愿填报的抉择

学历优先还是专业优先?高考志愿填报的抉择 2024年高考帷幕落下,新一轮的思考与选择悄然来临。对于每一位高考考生,选择学校和专业是开启大学新生活的两个前置必选项。然而,有时候“鱼与熊掌不可兼得”,在分数受限的情…

博途(TIA Portal)自动化工程软件下载安装,TIA Portal V18软件安装包获取

博途(TIA Portal)不仅仅是一款自动化工程软件,它更是西门子自动化领域的璀璨明珠。 它能够将西门子的所有自动化产品无缝集成在一起,无论是PLC、人机界面,还是伺服系统、马达、变频器、网络组件等,博途都能…

开发中间件的底层原理通常涉及以下几个关键方面:

开发中间件的底层原理通常涉及以下几个关键方面: 1. **抽象化(Abstraction)**: - 中间件提供一层抽象,以便应用程序可以与底层系统或网络服务交互,而无需了解具体的实现细节。 2. **封装(E…

餐饮行业气体泄露风险预警:可燃气体报警器的校准检测策略

在餐饮行业中,使用天然气、液化石油气等可燃气体作为烹饪能源是普遍现象。 然而,气体泄露问题时常威胁着餐饮场所的安全,一旦发生泄露,可能导致火灾、爆炸等严重事故。 因此,为了确保餐饮场所的安全,安装…

Oracle 中 FETCH FIRST ... ROWS WITH TIES子句

在 Oracle 数据库中,FETCH FIRST … ROWS WITH TIES 是一个子句,它用于与 ORDER BY 子句结合,以获取与第一组(根据排序条件)具有相同排序值的所有行。这通常用于在结果集中包括那些与最前面的几行具有相同排序值的行。…

文生视频模型Sora刷屏的背后的数据支持

前言:近日,OpenAI的首个文生视频模型Sora横空出世,引发了一波Sora热潮。与其相关的概念股连续多日涨停,多家媒体持续跟踪报道,央视也针对Sora进行了报道,称这是第一个真正意义上的视频生成大模型。 01 …

计算机视觉实验二:基于支持向量机和随机森林的分类(Part two: 编程实现基于随机森林的泰坦尼克号人员生存与否分类)

目录 一、实验内容 二、实验目的 三、实验步骤 四、实验结果截图 五、实验完整代码 一、实验内容 编程实现基于随机森林的泰坦尼克号人员生存与否分类,基本功能包括:Titanic - Machine Learning from Disaster数据集的下载;数值型数据和文本型数据的筛查、舍弃、合并、…

Rust日常开发三方库精选

日常开发三方库精选 对计算机、编程、架构的理解决定一个程序员的上限,而工具则决定了他的下限,三尺森寒利剑在手,问世间谁敢一战。 本文就分门别类的精心挑选了一些非常适合日常开发使用的三方库,同时针对优缺点、社区活跃等进…

Ubuntu20.04离线安装dpkg

方法一:百度云盘下载离线安装包 链接:https://pan.baidu.com/s/1L7TaFwE35bMfOJbXmJcWwQ 提取码:mjsm --来自百度网盘超级会员V4的分享 方法二:找一台联网计算机,自行下载离线安装包。 1. 创建存放离线包文件夹 …

一次DC9靶机的渗透测试

1.信息收集 2.SQL注入获取用户 3.LFI读取etcpasswd 4.Hydra爆破SSH 5.添加etcpasswd用户提权 1.信息收集: 探测存活主机 nmap -sP 192.168.11.1/24 发现主机探测端口和服务: nmap -sV -p 1-65535 192.168.11.144 2.SQL注入获取用户: HT…

liunx 搭建 zookeeper

创建下载路径 #创建文件夹 mkdir -p /mydata/zookeeper #进入文件夹 cd /mydata/zookeeper下载zookeeper文件 #下载 wget https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz #解压文件 tar -zxvf apache-zookeeper-3.5.9-bin.…

主机电子邮件访问:实现高效沟通与数据管理的综合指南

主机电子邮件访问:实现高效沟通与数据管理的综合指南 在当今数字化时代,电子邮件已成为企业和个人沟通的主要方式之一。主机电子邮件访问服务,作为一种集中管理和维护电子邮件系统的解决方案,不仅提高了通信效率,还增…

2024年6月29日(星期六)骑行十里箐

2024年6月29日 (星期六)骑行十里箐,早8:00到8:30,大观公园门口集合,9:00准时出发【因迟到者,骑行速度快者,可自行追赶偶遇。】 偶遇地点:大观公园门口集合 ,家住东,南,北…

如何在前端项目中制定代码注释规范

本文是前端代码规范系列文章,将涵盖前端领域各方面规范整理,其他完整文章可前往主页查阅~ 开始之前,介绍一下​最近很火的开源技术,低代码。 作为一种软件开发技术逐渐进入了人们的视角里,它利用自身独特的优势占领市…