为什么 SQL 中存在“WHERE”?因为“HAVING”可以完成它的任务,而且还不止这些
1 回答
4
尝试使用 HAVING 执行此查询:
将产品“XYZ”的每个国家/地区的总销售额相加
SELECT country, SUM(amount)
FROM sales
GROUP BY country
HAVING product = 'XYZ'
不,不会这样做,因为这些组将包括所有产品的销售额。并且 HAVING 条件无效,因为每个分组中有多个产品。
HAVING 的目的是在应用聚合后过滤组。
WHERE 的目的是在应用聚合之前过滤行。
SELECT country, SUM(amount)
FROM sales
WHERE product = 'XYZ'
GROUP BY country
于 2020-11-19T18:38:10.417 回答