MySQL | 使用 HAVING 子句进行高级数据筛选
文章目录
- 概述
- 基础介绍
- 聚合函数的使用
- HAVING 子句的应用场景
- 使用 COUNT()
- 使用 SUM()
- 使用 AVG()
- 使用 MAX() 和 MIN()
- 注意事项
概述
SQL 中的 HAVING
子句用于从 GROUP BY
查询的结果中进一步筛选记录。当需要根据聚合函数的结果来过滤查询输出时,HAVING
就变得非常有用。HAVING
与 WHERE
类似,但 WHERE
子句是在分组前应用,而 HAVING
是在分组后应用。
基础介绍
在 SQL 查询中,HAVING
子句通常与 GROUP BY
子句一起使用。例如,要找出某个表中某个字段的不同值出现次数超过一定数量的情况,可以使用以下格式:
SELECT column_name, COUNT(column_name)
FROM table_name
GROUP BY column_name
HAVING COUNT(column_name) > value;
这里的 value
是一个具体的数值或表达式。
聚合函数的使用
SQL 提供了多种聚合函数,这些函数可以对一组值执行计算,并返回单个值作为结果。下面是一些常见的聚合函数及其用法:
-
COUNT():计算指定列中的非空值的数量。如果带上星号(COUNT(*)),则计算行数,包括 NULL 值。
SELECT COUNT