mysql分组后合并显示一个字段的多条数据方式


Posted in MySQL onJanuary 22, 2022

mysql分组合并显示一个字段多条数据

首先我们有一张学生兴趣表(student_hobby),字段包括主键(id)、姓名(name)、兴趣(hobby)

表中数据如下

id name hobby
0 小明 篮球
1 小明 跑步
2 小华 读书

然后我们想让他显示成如下效果。

name hobbies
小明 篮球,跑步
小华 读书

那么我们可以使用如下SQL。

select name,group_concat(hobby separator ',') hobbies from student_hobbt group by name;

其中分隔符逗号也可以替换为其他想要使用的字符。

mysql多字段分组

mysql多字段分组

group by 语法

分组查询是对数据按照某个或多个字段进行分组,MYSQL中使用group by关键字对数据进行分组,基本语法形式为:

[GROUP BY 字段][HAVING <条件表达式>]

多字段分组

使用GROUP BY可以对多个字段进行分组,GROUP BY关键字后面跟需要分组的字段,MYSQL根据多字段的值来进行层次分组,分组层次从左到右,即先按照第1个字段分组,然后在第1个字段值相同的记录中,再根据第2个字段的值进行分组,以此类推。

GROUP BY与ORDER BY一起使用(分组排序)

某些情况下需要对分组进行排序,order by用来对查询的记录排序,如果和GROUP BY一起使用,就可以完成对分组的排序

例如下表:

mysql分组后合并显示一个字段的多条数据方式

将上表中数据按照wellid和年月的格式分组统计: 

sql语句:

select wellid,sum(number) as sum,DATE_FORMAT(time,'%Y-%m') as createTime 
from well 
GROUP BY wellid,createTime
order by createTime;

统计结果:

mysql分组后合并显示一个字段的多条数据方式

使用having过滤分组

GROUP BY可以和HAVING一起限定显示记录所需要满足的条件,只有满足条件的分组才会被显示 

还是上面张表,我们这次限定只要2020年12月之后的数据:

select wellid,sum(number) as sum,DATE_FORMAT(time,'%Y-%m') as createTime 
from well 
GROUP BY wellid,createTime
having createTime>'2020-12'
order by createTime;

查询结果:

mysql分组后合并显示一个字段的多条数据方式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

MySQL 相关文章推荐
MySQL 使用SQL语句修改表名的实现
Apr 07 MySQL
MySQL update set 和 and的区别
May 08 MySQL
MYSQL主从数据库同步备份配置的方法
May 26 MySQL
mysql如何配置白名单访问
Jun 30 MySQL
MySQL系列之五 视图、存储函数、存储过程、触发器
Jul 02 MySQL
MySQL系列之开篇 MySQL关系型数据库基础概念
Jul 02 MySQL
mysql的数据压缩性能对比详情
Nov 07 MySQL
mysql中整数数据类型tinyint详解
Dec 06 MySQL
教你如何让spark sql写mysql的时候支持update操作
Feb 15 MySQL
Mysql 文件配置解析介绍
May 06 MySQL
MySQL GTID复制的具体使用
May 20 MySQL
MySQL数据库 任意ip连接方法
May 20 MySQL
MySQL中int (10) 和 int (11) 的区别
Jan 22 #MySQL
JMeter对MySQL数据库进行压力测试的实现步骤
MySQL创建定时任务
Jan 22 #MySQL
SQL基础查询和LINQ集成化查询
Jan 18 #MySQL
MySQL常见优化方案汇总
Jan 18 #MySQL
mysql sum(if())和count(if())的用法说明
SQL语法CONSTRAINT约束操作详情
Jan 18 #MySQL
You might like
一个oracle+PHP的查询的例子
2006/10/09 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
js加解密 脚本解密
2008/02/22 Javascript
随窗体滑动的小插件sticky源码
2013/06/21 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
JS伪继承prototype实现方法示例
2018/06/20 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
python实现批量解析邮件并下载附件
2018/06/19 Python
python多线程http压力测试脚本
2019/06/25 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
Python 绘制可视化折线图
2020/07/22 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
项目投资意向书
2014/04/01 职场文书
高中家长寄语
2014/04/02 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
小学班主任事迹材料
2014/12/17 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
办公室岗位职责
2015/02/04 职场文书
小学元宵节活动总结
2015/02/06 职场文书
面试通知短信
2015/04/20 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript