HAVING子句的使用方法如下:
在SELECT语句中使用GROUP BY对数据进行分组。
在GROUP BY子句后添加HAVING关键字,用于筛选分组结果。可以在HAVING子句中使用聚合函数(如SUM、COUNT、AVG等)和比较运算符(>、<、=等)来筛选满足条件的分组结果。
例如,以下语句从orders表中按照customer_id分组,并计算每个客户的订单总金额。然后,只显示订单总金额大于1000的客户信息:
SELECT customer_id, SUM(amount) as total_amount
FROM orders
GROUP BY customer_id
HAVING total_amount > 1000;
- 可以在HAVING子句中使用AND或OR运算符连接多个条件,实现更复杂的筛选逻辑。
例如,以下语句从orders表中按照customer_id和order_date分组,并计算每个客户每天的订单总金额。然后,只显示订单总金额大于1000且日期为2021年1月1日或2021年1月2日的客户信息:
SELECT customer_id, order_date, SUM(amount) as daily_total_amount
FROM orders
WHERE YEAR(order_date)=2021 AND MONTH(order_date)=1 AND DAY(order_date)<=2
GROUP BY customer_id, order_date
HAVING daily_total_amount > 1000;




