PostgreSQL HAVING 子句
HAVING
添加 HAVING
子句到 SQL 中是因为 WHERE
子句不能与聚合函数一起使用。
聚合函数通常与 GROUP BY
子句一起使用,通过添加 HAVING
,我们可以像使用 WHERE
子句一样编写条件。
示例
仅列出表示超过 5 次的国家
SELECT COUNT(customer_id), country
FROM customers
GROUP BY country
HAVING COUNT(customer_id) > 5;
运行示例 »
更多 HAVING 示例
以下 SQL 语句仅列出总价为 400 美元或以上的订单
示例
SELECT order_details.order_id, SUM(products.price)
FROM order_details
LEFT JOIN products ON order_details.product_id = products.product_id
GROUP BY order_id
HAVING SUM(products.price) > 400.00;
运行示例 »
列出订购金额为 1000 美元或以上的客户
示例
SELECT customers.customer_name, SUM(products.price)
FROM order_details
LEFT JOIN products ON order_details.product_id = products.product_id
LEFT JOIN orders ON order_details.order_id = orders.order_id
LEFT JOIN customers ON orders.customer_id = customers.customer_id
GROUP BY customer_name
HAVING SUM(products.price) > 1000.00;
运行示例 »