一:分组函数的语句顺序
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()函数:用于查询字段的最小值。