在sql中使用group 分组以后还想对结果进行筛选的话,就需要用到having()
例1:
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
例2:
SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500
可见having后面一般都是聚合函数的筛选,别的筛选条件在前面的where语句中and连用就好
当然,having后面也可以用and或者or连用条件
例3:
select count(f_fund_id),count(f2) from table_name group by f_fund_id ,f2 having count(f_fund_id)>1 and count(f2)>3
所以可以理解为,where是在进行group by前的筛选,而having()就是对group by 后的又一次筛选
本文详细阐述了SQL中HAVING关键字的作用,用于分组后的筛选条件,通过实例说明其与WHERE的区别,以及如何结合聚合函数进行高级筛选。重点讲解了多个条件的连接使用和HAVING在实际场景中的运用。
2172

被折叠的 条评论
为什么被折叠?



