一:分组函数的语句顺序
- 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()
函数:用于查询字段的最小值。
以上就是MySQL数据库分组查询group by语句详解的详细内容,更多关于MySQL数据库语句的资料请关注w3xue其它相关文章!