阅读量:0
在 SQL 查询中,HAVING 语句用于过滤分组后的结果
- FROM:首先,数据库引擎从 FROM 子句中指定的表或视图中提取数据。
- WHERE:然后,数据库引擎应用 WHERE 子句中的条件来过滤原始数据。只有满足条件的行才会被包含在进一步的处理中。
- GROUP BY:接下来,数据库引擎根据 GROUP BY 子句中指定的列对过滤后的数据进行分组。
- 聚合函数:在每个分组上应用聚合函数(如 COUNT、SUM、AVG 等),以计算每个分组的统计信息。
- HAVING:最后,数据库引擎应用 HAVING 子句中的条件来过滤分组后的结果。只有满足 HAVING 条件的分组才会被包含在查询结果中。
- SELECT:数据库引擎选择 SELECT 子句中指定的列作为查询结果的输出。
- ORDER BY:最后,数据库引擎根据 ORDER BY 子句中指定的列对查询结果进行排序。
因此,HAVING 语句在分组和聚合操作之后执行,用于过滤分组后的结果。这与 WHERE 子句不同,WHERE 子句在分组和聚合操作之前执行,用于过滤原始数据。