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 逻辑备份与恢复测试的相关总结
May 14 MySQL
MySQL时间盲注的五种延时方法实现
May 18 MySQL
MySQL数据库压缩版本安装与配置详细教程
May 21 MySQL
MySQL之PXC集群搭建的方法步骤
May 25 MySQL
MySQL中distinct和count(*)的使用方法比较
May 26 MySQL
一文读懂navicat for mysql基础知识
May 31 MySQL
mysql中between的边界,范围说明
Jun 08 MySQL
MySQL创建定时任务
Jan 22 MySQL
mysql下的max_allowed_packet参数设置详解
Feb 12 MySQL
浅谈MySQL中的六种日志
Mar 23 MySQL
简单聊一聊SQL注入及防止SQL注入
Mar 23 MySQL
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
Apr 12 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上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
用YUI做了个标签浏览效果
2007/02/20 Javascript
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
实例讲解Python爬取网页数据
2018/07/08 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
python进行TCP端口扫描的实现
2018/12/21 Python
python实现静态web服务器
2019/09/03 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
应聘编辑职位自荐信范文
2014/01/05 职场文书
给导游的表扬信
2014/01/10 职场文书
关于爱情的广播稿
2014/01/16 职场文书
法学院方阵解说词
2014/01/29 职场文书
服装行业创业计划书范文
2014/02/05 职场文书
春节联欢晚会主持词范文
2014/03/24 职场文书
创先争优活动承诺书
2014/08/30 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技
netty 实现tomcat的示例代码
2022/06/05 Servers