MySQL分组数据
GROUP BY
简介
数据分组使用GROUP BY子句,并且会根据分组的字段进行ASC排序
实例
将学生按照年龄进行分组,并且统计每个年龄的学生人数,结果的排序为:年龄的升序
1 | SELECT age,COUNT(*) AS age_count FROM t_student GROUP BY age; |
HAVING
简介
分组的数据可以使用HAVING子句进行过滤,在GROUP BY后使用,HAVING后接一个条件,然后就可以筛选出满足条件的数据
实例
将学生按照年龄进行分组且学生年龄大于11岁,并且统计每个年龄的学生人数,结果的排序为:年龄的升序
1 | SELECT age,COUNT(*) AS age_count FROM t_student GROUP BY age HAVING age>11; |
排序
简介
一般在使用GROUP BY子句时,应该也给出ORDER BY子句。这是保证数据正确排序的唯一方法,千万不要仅依赖GROUP BY排序数据
实例
将学生按照年龄进行分组且学生年龄大于11岁,并且统计每个年龄的学生人数,结果的排序为:该年龄人数的升序
1 | SELECT age,COUNT(*) AS age_count FROM t_student GROUP BY age HAVING age>11 ORDER BY age_count; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeDao's Blog!
评论