SQL HAVING

分組後篩選

HAVING 用在分組後的條件判斷,與 WHERE 的用途不同。它常出現在 KPI、排行榜、門檻式報表。

Example 1 - 篩選客戶數較多的國家

SELECT Country, COUNT(*) AS CustomerCount
FROM Customers
GROUP BY Country
HAVING COUNT(*) >= 5;

Example 2 - 篩選平均運費較高的國家

SELECT ShipCountry, AVG(Freight) AS AvgFreight
FROM Orders
GROUP BY ShipCountry
HAVING AVG(Freight) > 40
ORDER BY AvgFreight DESC;
差異: WHERE 篩原始資料列,HAVING 篩聚合後結果。