首页 > 代码库 > 使用GROUP BY子句进行分组操作
使用GROUP BY子句进行分组操作
本文通过实例介绍GROUP BY子句的使用方法。
1 准备测试数据
新建数据表tb_Student并插入下图所示的测试数据。
图1 数据表tb_Student的数据
2 使用GROUP BY子句进行分组
问题1
要求
按照班级ID对学生进行分组,并查询出每个班级的学生数,学生的最大年龄,最小年龄,年龄总和及年龄平均等信息。
解答
SELECT s.class_id AS 班级,COUNT(*) AS 人数,MAX(s.student_age) AS 年龄最大,MIN(s.student_age) AS 年龄最小,SUM(s.student_age) AS 年龄总和,AVG(s.student_age) AS 年龄平均 FROM tb_Student AS s GROUP BY s.class_id
查询结果
图2 问题1的查询结果
问题2
要求
查询出存在年龄小于25周岁学生的班级ID及班级人数。
解答
SELECT s.class_id AS 班级,COUNT(*) AS 人数 FROM tb_Student AS s GROUP BY s.class_id HAVING MIN(s.student_age)<25
查询结果
图2 问题2的查询结果
3 知识总结
使用GROUP BY子句可以对数据按照一个或者多个字段进行分组操作,并可以对分组结果进行过滤操作,其语法形式为:
[GROUP BY 字段][HAVING <条件表达式>]
其中:“GROUP BY 字段”部分完成分组操作;“HAVING <条件表达式>”部分对分组结果进行过滤操作。
使用GROUP BY子句进行分组操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。