全部章节 >>>> 本章目录 6.1 sum、max 和 min 聚合函数 6.1.1 聚合函数介绍 6.1.2 sum 函数 6.1.3 max/min 函数 6.2 avg 和 count 函数 6.2.1 avg 函数 6.2.2 count 函数 6.3 分组查询 group by 子句 6.3.1 group by 子句 6.3.2 创建分组 6.3.3 比较 order by 和 group by 6.3.4 使用 where 子句实现分组之前过滤数据 6.3.5 分组函数中的非聚合函数列 6.4 多字段分组和 having 子句 6.4.1 多字段分组 6.4.2 使用 h 【第6章 聚合函数和分组查询】 在SQL中,聚合函数是用于处理大量数据并返回单个汇总值的关键工具。本章主要涵盖了MySQL中的几个主要聚合函数,如SUM, MAX, MIN, AVG, COUNT,以及如何通过GROUP BY子句进行分组查询。 6.1 聚合函数介绍 聚合函数可以对一列或多列中的值进行统计,返回一个单一的汇总结果。例如: - SUM函数:返回指定列的总和。 - MAX函数:返回指定列的最大值。 - MIN函数:返回指定列的最小值。 - AVG函数:返回指定列的平均值。 - COUNT函数:返回指定列或整个表的记录行数。 6.1.2 SUM函数 SUM函数用于计算某一列的总和。例如,计算所有线路的总里程数: ```sql SELECT SUM(miles) AS 线路总里程数 FROM line; ``` 6.1.3 MAX/MIN函数 MAX和MIN函数分别用于找出某一列的最大和最小值。例如,找出最长和最短线路的里程: ```sql SELECT MAX(miles) AS 最长线路里程, MIN(miles) AS 最短线路里程 FROM line; ``` 6.2 AVG和COUNT函数 6.2.1 AVG函数 AVG函数计算数字列的平均值。例如,计算所有线路的平均里程数: ```sql SELECT AVG(miles) AS 平均里程数 FROM line; ``` 6.2.2 COUNT函数 COUNT函数用于统计行数。可以对列名或通配符'*'使用。'*'表示统计整个表的行数。例如,统计所有公交线路数量: ```sql SELECT COUNT(*) AS 线路数 FROM line; ``` 6.3 分组查询 GROUP BY子句 6.3.1 GROUP BY子句 GROUP BY子句用于根据一个或多个列对数据进行分组,以便对每个组应用聚合函数。例如,按线路公司分组并计算每家公司线路的平均里程数: ```sql SELECT company, AVG(miles) AS 平均里程数 FROM line GROUP BY company; ``` 6.3.2 创建分组 GROUP BY允许你基于列的值将数据分组,这在需要按类别汇总数据时非常有用。 6.3.3 比较ORDER BY和GROUP BY ORDER BY用于排序结果,而GROUP BY用于将结果分组。它们的作用不同,不能混淆。ORDER BY通常用在GROUP BY之后,对分组后的结果进行排序。 6.3.4 WHERE子句和分组前的过滤 WHERE子句在GROUP BY之前应用,用于过滤数据。例如,只计算公交二公司的线路总里程: ```sql SELECT SUM(miles) AS 线路总里程数 FROM line WHERE company = '公交二公司'; ``` 6.3.5 分组函数中的非聚合函数列 在使用GROUP BY时,查询结果中只能包含聚合函数和分组列,其他非聚合函数的列必须用GROUP BY包括。 6.4 多字段分组和HAVING子句 6.4.1 多字段分组 可以基于多个列进行分组,例如,按线路公司和线路类型分组: ```sql SELECT company, type, AVG(miles) AS 平均里程数 FROM line GROUP BY company, type; ``` 6.4.2 HAVING子句 HAVING子句类似于WHERE,但用于过滤GROUP BY后的结果。例如,找出平均里程超过100的公司: ```sql SELECT company, AVG(miles) AS 平均里程数 FROM line GROUP BY company HAVING AVG(miles) > 100; ``` 6.4.3 比较WHERE子句和HAVING子句 WHERE子句应用于分组前的数据过滤,HAVING则用于分组后的过滤。 6.4.4 GROUP BY子句的WITH ROLLUP选项 WITH ROLLUP用于在分组结果中添加额外的汇总行,包括所有组的汇总。 总结: 本章详细介绍了MySQL中的聚合函数和分组查询,包括SUM、MAX、MIN、AVG、COUNT等函数的使用,以及GROUP BY子句和HAVING子句在创建分组和过滤数据方面的应用。这些工具对于分析和理解大量数据非常关键,是数据库查询和数据分析中的重要组成部分。
























剩余7页未读,继续阅读


- 粉丝: 9
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- java毕业设计,个人消费管理系统
- Office 365与SharePoint Online迁移指南
- 二维光栅出瞳扩展系统优化
- java毕业设计,小型药店管理系统
- java毕业设计,宠物领养管理系统
- java毕业设计,宠物猫店管理系统
- java毕业设计,社区物业管理系统
- Unity 3D 游戏开发 第3版 宣雨松-著 第十章 多媒体
- java毕业设计,无人超市管理系统
- 集团网络规划方案.doc
- 计算机基础专升本题库.doc
- 数据库原理及应用教案.pptx
- 中国娱乐网站解决优化方案.doc
- 协会网站建设方案书.doc
- 计算机基础知识第12章.ppt
- 应用Excel表快速计算三桩承台工程量.docx


