HAVING子句用于在GROUP BY子句后进行过滤。它可以筛选出满足特定条件的分组。
HAVING子句的语法如下:
SELECT 列名1, 列名2, ...
FROM 表名
WHERE 条件
GROUP BY 列名1, 列名2, ...
HAVING 条件
以下是HAVING子句的使用示例:
假设有一个"orders"表,包含订单信息,其中有"customer_id"列表示顾客ID,"total_amount"列表示订单总金额。我们想要查询总金额大于100的顾客及其订单数量。
SELECT customer_id, COUNT(*) as order_count
FROM orders
GROUP BY customer_id
HAVING SUM(total_amount) > 100
以上SQL语句将按顾客ID进行分组,并计算每个顾客的订单数量。然后,HAVING子句将筛选出总金额大于100的顾客。
注意,在使用HAVING子句之前必须先使用GROUP BY子句进行分组。HAVING子句通常用于在聚合函数(如SUM、COUNT、AVG等)的结果上进行筛选。