MySQL聚合函数与分组查询详解:SUM, MAX/MIN, AVG, COUNT, GROUP BY, HAVING
180 浏览量
更新于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-08-18 上传
2022-04-11 上传
2022-09-24 上传
2023-08-16 上传
2024-06-26 上传
2023-09-07 上传
2023-07-28 上传
2024-09-07 上传
2023-05-10 上传
weixin_38656364
- 粉丝: 8
- 资源: 898
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器