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事务的隔离级别与MVCC
Apr 22 MySQL
MySQL中你可能忽略的COLLATION实例详解
May 12 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
MySQL Router实现MySQL的读写分离的方法
May 27 MySQL
Mysql文件存储图文详解
Jun 01 MySQL
mysql 如何获取两个集合的交集/差集/并集
Jun 08 MySQL
MySQL 如何限制一张表的记录数
Sep 14 MySQL
Mysql事务索引知识汇总
Mar 17 MySQL
MySQL中一条SQL查询语句是如何执行的
Apr 08 MySQL
mysql 索引的数据结构为什么要采用B+树
Apr 26 MySQL
MySQL 数据表操作
May 04 MySQL
面试官问我Mysql的存储引擎了解多少
Aug 05 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
浅析php中json_encode()和json_decode()
2014/05/25 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
PHP cURL获取微信公众号access_token的实例
2018/04/28 PHP
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
js网页版计算器的简单实现
2013/07/02 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
javascript打开word文档的方法
2014/04/16 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
JS代码实现页面切换效果
2021/01/10 Javascript
Python getopt模块处理命令行选项实例
2014/05/13 Python
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
jupyter notebook实现显示行号
2020/04/13 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
python如何实现递归转非递归
2021/02/25 Python
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
PHP笔试题
2012/02/22 面试题
工作违纪检讨书
2014/02/17 职场文书
英语专业自荐书
2014/06/13 职场文书
风之谷观后感
2015/06/11 职场文书