HAVING 子句通常与 GROUP BY 子句一起使用,用于在已分组的结果集上进行过滤。它允许你筛选分组后的数据,类似于 WHERE 子句对原始数据的筛选。具体语法如下:
SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE condition
GROUP BY column1, column2
HAVING condition;

其中,column1, column2 是你想要分组的列,aggregate_function 是聚合函数,table_name 是表的名称,condition 是在分组后的结果上应用的筛选条件。与 WHERE 子句不同,HAVING 子句用于过滤分组而不是单独的行。

例如,假设有一个表叫做 sales,包含列 product, region, revenue 存储产品销售数据。如果你想找到每个产品总销售额大于 1000 的地区,可以使用如下的 SQL 查询:
SELECT product, region, SUM(revenue) as total_revenue
FROM sales
GROUP BY product, region
HAVING SUM(revenue) > 1000;

在这个例子中,HAVING SUM(revenue) > 1000 将筛选出总销售额大于 1000 的分组。 HAVING 子句允许你在已分组的数据上进行聚合函数的条件筛选。


转载请注明出处:http://www.pingtaimeng.com/article/detail/14065/SQL