MySQL聚合函数与分组查询详解:SUM, MAX/MIN, AVG, COUNT, GROUP BY, HAVING
83 浏览量
更新于2024-08-30
收藏 1.13MB PDF 举报
本章主要介绍了MySQL中的聚合函数和分组查询,包括SUM、MAX、MIN、AVG、COUNT函数的使用,以及GROUP BY子句、HAVING子句的应用。
6.1 聚合函数
聚合函数是SQL中用于处理一组数据并返回单一汇总值的函数。本节详细讲解了SUM、MAX、MIN三种聚合函数。
6.1.1 聚合函数介绍
聚合函数允许我们对一列或多列的数据进行统计,返回一个代表整个集合的值。例如:
- SUM()函数计算指定列的总和。
- MAX()函数返回指定列的最大值。
- MIN()函数返回指定列的最小值。
6.1.2 SUM函数
SUM函数常用于求和,如计算所有线路的总里程数,或者特定条件下的线路总里程数。
6.1.3 MAX/min函数
MAX和MIN函数则用于找出最大值和最小值,比如找出所有线路中的最长和最短里程,或查询年龄最大的公交司机的出场次数。
6.2 AVG和COUNT函数
6.2.1 AVG函数
AVG()函数计算指定列的平均值,可用于了解数据集的平均特征。
6.2.2 COUNT函数
COUNT()函数返回指定列的行数,可以用来统计记录的数量。可以用于计算所有记录,也可以针对满足特定条件的记录进行计数。
6.3 分组查询GROUP BY子句
6.3.1 GROUP BY子句
GROUP BY用于将数据按一列或多列进行分组,以便对每个分组应用聚合函数。
6.3.2 创建分组
通过指定列名,可以将数据按指定列的值进行分组。
6.3.3 比较ORDER BY和GROUP BY
ORDER BY用于排序结果,而GROUP BY用于数据分组,两者作用不同但常配合使用。
6.3.4 使用WHERE子句过滤数据
在使用GROUP BY之前,可以通过WHERE子句过滤数据,只对满足条件的行进行分组。
6.3.5 非聚合函数列与分组函数
在分组函数中,如果使用非聚合函数列,SQL会报错,除非这些列也在GROUP BY子句中。
6.4 多字段分组和HAVING子句
6.4.1 多字段分组
可以同时根据多个列的值进行分组,提供更细致的数据分析。
6.4.2 HAVING子句
HAVING子句类似于WHERE,但它用于分组后过滤数据,只能用于聚合函数的条件筛选。
6.4.3 WHERE子句与HAVING子句的比较
WHERE子句在数据分组前过滤,HAVING子句在分组后过滤,两者作用范围不同。
6.4.4 GROUP BY子句的WITH ROLLUP选项
WITH ROLLUP提供汇总级别的额外汇总行,包括所有分组和总的汇总。
总结,本章详细介绍了MySQL中进行数据聚合和分组查询的方法,帮助我们更有效地对大量数据进行统计和分析,为数据分析和决策提供支持。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-12-12 上传
2020-12-15 上传
2022-09-24 上传
2018-05-12 上传
2016-04-19 上传
2020-09-11 上传
weixin_38656364
- 粉丝: 8
- 资源: 897
最新资源
- 人工智能基础实验.zip
- chkcfg-开源
- Amaterasu Tool-开源
- twitter-application-only-auth:Twitter仅限应用程序身份验证的简单Python实现。
- 第一个项目:shoppingmall
- webpage-test
- JTextComponent.rar_Applet_Java_
- 人工智能原理课程实验1,numpy实现Lenet5,im2col方法实现的.zip
- PyPI 官网下载 | vittles-0.17-py3-none-any.whl
- Real-World-JavaScript-Pro-Level-Techniques-for-Entry-Level-Developers-V-:实际JavaScript的代码存储库
- Sitecore.Support.96670:修补程序解决了以下问题:选中“相关项目”复选框时,并非所有子项目都会发布,
- BioGRID-PPI:生物二进制PPI数据集和BioGRID的处理
- ownership-status:所有权状态页
- DMXOPL:用于末日和源端口的YMF262增强的FM补丁集
- VideoCapture.rar_视频捕捉/采集_Visual_C++_
- trd_mc:一个简单的蒙特卡洛TPX响应仿真引擎。专为ROOT互动模式