MySQL分组和过滤
- 分组:group by 字段名
- 过滤:having子句,类似where子句,having子句用于分组之后的条件过滤
- 通过字段的不同的值进行分组,有几个不同的值就会被分为几组
- 使用分组的时候,需要添加过滤条件的时候,不能使用where子句,要使用having
#同一个表,需要对性别进行分组,分别统计男女数量
SELECT sex 性别,COUNT(sex) 数量
FROM student
GROUP BY sex;
#查询不同课程的最高分,最低分和平均分,平均分大于80
SELECT subjectname 课程名称,MAX(studentresult) 最高分,MIN(studentresult) 最低分,AVG(studentresult) 平均分
FROM result r
left JOIN `subject` s
ON r.subjectno = s.subjectno
GROUP BY r.subjectno
HAVING 平均分 >=80