MySQL数据库应用项目式教程课件:查询的分组与汇总.pptx
查询的分组与汇总
本节内容1.使用聚合函数查询2.使用GROUPBY子句创建分组查询3.使用HAVING子句对分组数据进行过滤
01任务4-12使用聚合函数查询
1.使用聚合函数查询(1)查询学号为同学的总成绩。(2)查询“1001”号课程的平均分、最高分和最低分。(3)查询信息工程系有多少学生。(4)查询学校有多少个系部。【任务描述】
1.使用聚合函数查询MySQL中常用聚合函数【任务分析】函数作用AVG()返回某列的平均值MAX()返回某列的最大值MIN()返回某列的最小值SUM()返回某列值之和COUNT()COUNT(*):统计记录个数COUNT(字段名):统计某列非空值记录的个数COUNT(DISTINCT字段名):统计去掉重复值后某列非空值记录的个数
1.使用聚合函数查询1.查询学号为同学的总成绩。?【任务实施】
1.使用聚合函数查询2.查询“1001”号课程的平均分、最高分和最低分。?【任务实施】
1.使用聚合函数查询3.查询信息工程系有多少学生。?【任务实施】
1.使用聚合函数查询4.查询学校有多少个系部。【任务实施】
1.使用聚合函数查询【任务实施】操作演示
02任务4-13使用GROUPBY子句创建分组查询
2.使用GROUPBY子句创建分组查询(1)统计每门课程的最高分和最低分(2)统计每个学生的选课门数、总成绩和平均成绩。(3)分组统计男、女生的人数。(4)分组统计每个系的男、女生的人数,并汇总。【任务描述】
2.使用GROUPBY子句创建分组查询GROUPBY子句提供了对数据进行分组的功能。其语法格式为:?【任务分析】SELECT[ALL|DISTINCT]字段列表FROM表名1[,…表名n][WHERE条件表达式]GROUPBY字段名[,…字段名n][WITHROLLUP];
2.使用GROUPBY子句创建分组查询语法说明:1)GROUPBY子句后面的字段名用来指定用于分组的字段,可以指定多个字段,彼此间用逗号分隔,表示按多个字段分组。2)GROUPBY子句指定的分组字段,必须全部包含在SELECT子句中。3)WITHROLLUP关键字表示将在较高层次的分组及所有记录的最后加上一条记录,该记录将该层所有记录作为一个大组进行汇总。?【任务分析】
2.使用GROUPBY子句创建分组查询1.统计每门课程的最高分和最低分?【任务实施】
2.使用GROUPBY子句创建分组查询2.统计每个学生的选课门数、总成绩和平均成绩。【任务实施】
2.使用GROUPBY子句创建分组查询3.分组统计男、女生的人数。?【任务实施】
2.使用GROUPBY子句创建分组查询4.分组统计每个系的男、女生的人数,并汇总。【任务实施】
2.使用GROUPBY子句创建分组查询【任务实施】操作演示
03任务4-14使用HAVING子句对分组数据进行过滤
3.使用HAVING子句对分组数据进行过滤(1)统计平均成绩在80分以上的学生的选课门数、总成绩和平均成绩。(2)统计平均成绩在80分以上的学生的选课门数、总成绩和平均成绩,并按平均成绩降序排列。(3)统计“信息工程系”每个班的学生人数,并筛选出人数在6人及以上的班级。【任务描述】
3.使用HAVING子句对分组数据进行过滤HAVING子句用于对分组后的统计结果再进行筛选。其语法格式为:语法说明:1)“HAVING条件表达式”用来限制分组后的显示,分组或汇总结果满足条件表达式的将被显示。2)HAVING子句是可选项,若选用则一定写在GROUPBY子句之后。【任务分析】SELECT[ALL|DISTINCT]字段列表FROM表名1[,…表名n][WHERE条件表达式]GROUPBY字段名[,…字段名n][HAVING条件表达式];
3.使用HAVING子句对分组数据进行过滤1.统计平均成绩在80分以上的学生的选课门数、总成绩和平均成绩。?【任务实施】
3.使用HAVING子句对分组数据进行过滤2.统计平均成绩在80分以上的学生的选课门数、总成绩和平均成绩,并按平均成绩降序排列。?【任务实施】
3.使用HAVING子句对分组数据进行过滤3.统计“信息工程系”每个班的学生人数,并筛选出人数在6人及以上的班级。【任务实施】温馨提示:使用HAVING子句可以筛选出符合条件的组
3.使用HAVING子句对分组数据进行过滤【任务实施】操作演示
4.4查询的分组与汇总操作演示
好好学习天天进步