首页 > 试题广场 >

在GROUP BY子句后,如果需要过滤聚合结果(如只保留总销

[单选题]
在GROUP BY子句后,如果需要过滤聚合结果(如只保留总销售额大于1000的分组),应该使用哪个子句?
  • WHERE
  • HAVING
  • FILTER
  • LIMIT
-- 示例:按产品类别分组,只保留总销售额大于1000的分组 SELECT category, SUM(sales_amount) AS total_sales FROM products GROUP BY category HAVING SUM(sales_amount) > 1000; 1.  GROUP BY category :先把数据按  category (产品类别)分组。 2.  SUM(sales_amount) :计算每个分组的总销售额。 3.  HAVING SUM(sales_amount) > 1000 :在分组聚合完成后,只保留总销售额大于1000的分组。 4. 对比  WHERE : WHERE  是在分组前过滤行数据,不能直接用聚合函数(比如  SUM() ),而  HAVING  是在分组后过滤聚合结果,专门用于这类场景。
发表于 2026-01-25 17:59:08 回复(0)