MySQL数据库分组查询group by语句详解
导读
一:分组函数的语句顺序
1 SELECT ... 2 FROM ... 3 WHERE ... 4 GROUP BY ... 5 HAVING ... 6 ORDER BY ...
二:WHERE和HAVING筛选条件的区别
数据源 位置 关键字 WHERE 原始表 ORDER BY语句之前 WHERE HAVING 分组后的结果集 ORDER BY语句之后 HAVING
三:举例说明
#1.查询每个班学生的最大年龄 SELECT MAX(age),class FROM STU_CLASS GROUP BY CLASS; # 2.查询每个班中男女生的最大年龄 SELECT MAX(age),class,sex FROM STU_CLASS GROUP BY class,sex; #3.查询每个班中男女生的平局年龄,且平均年龄大于15岁 SELECT AVG(age),class,sex FROM STU_CLASS GROUP BY class,sex HAVING avg(age) > 15;
四:注意点
1.通常情况下,GROUP BY关键字与集合函数一起使用,先使用GROUP BY关键字将记录分组,然后每组都使用集合函数进行计算。在统计时经常需要使用GROUP BY关键字和集合函数。
COUNT()
函数:用于统计记录的条数。SUM()
函数:用于计算字段的值的总和。AVG()
函数:用于计算字段的值的平均值。MAX()
函数:用于查询字段的最大值。MIN()
函数:用于查询字段的最小值。
评论(0)