HAVING
语句在 SQL 中用于对分组后的结果进行筛选
以下是一个使用 HAVING
语句进行复杂数据筛选的示例:
-- 假设有一个名为 sales_data 的表,包含以下列:region, sales_rep, total_sales
-- 我们想要查询每个地区销售额超过 10000 的销售代表及其销售额
SELECT region, sales_rep, SUM(total_sales) as region_total_sales
FROM sales_data
GROUP BY region, sales_rep
HAVING region_total_sales > 10000;
在这个示例中,我们首先使用 GROUP BY
子句按地区和销售代表对数据进行分组。然后,我们使用 SUM()
函数计算每个分组的总销售额,并将其命名为 region_total_sales
。最后,我们使用 HAVING
子句筛选出销售额大于 10000 的分组。
请注意,HAVING
子句中不能直接使用聚合函数作为条件。在这种情况下,可以使用子查询或者将聚合函数的结果临时表或视图。