一:分组函数的语句顺序
1
2
3
4
5
6
7
8
9
10
11
12
|
1 SELECT
...
2 FROM
...
3 WHERE
...
4 GROUP BY
...
5 HAVING
...
6 ORDER BY
...
|
二:WHERE和HAVING筛选条件的区别
1
2
3
4
5
|
数据源 位置 关键字
WHERE 原始表 ORDER BY 语句之前 WHERE
HAVING 分组后的结果集 ORDER BY 语句之后 HAVING
|
三:举例说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#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数据库语句的资料请关注服务器之家其它相关文章!
原文链接:https://blog.csdn.net/weixin_45827693/article/details/108540844