使⽤GROUPBY⼦句进⾏分组操作
本⽂通过实例介绍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.stud 查询结果
groupby分组
图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 <;条件表达式>”部分对分组结果进⾏过滤操作。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。