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