标题: 数据库中Having [打印本页] 作者: 张学良 时间: 2012-3-26 12:14 标题: 数据库中Having 数据库中Having是什么意思啊、比如:
select store_name, sum(sales) from Store_Information group by store_name having sum(sales) > 1500,
用where难道不行吗?作者: 韩迎龙 时间: 2012-3-26 12:37
指定组或聚合的搜索条件。HAVING 只能与 SELECT 语句一起使用。HAVING 通常在 GROUP BY 子句中使用。如果不使用 GROUP BY 子句,则 HAVING 的行为与 WHERE 子句一样。
实例为: HAVING 子句从 SalesOrderDetail 表中检索超过 $100000.00 的每个 SalesOrderID 的总计。
USE AdventureWorks ;
GO
SELECT SalesOrderID, SUM(LineTotal) AS SubTotal
FROM Sales.SalesOrderDetail sod
GROUP BY SalesOrderID
HAVING SUM(LineTotal) > 100000.00
ORDER BY SalesOrderID ; 作者: 蔚强 时间: 2012-3-26 13:12
where是对整个表而言的,就是说where要跟在表的后面,而having是对分组后的数据进行筛选的。作者: 朱学田 时间: 2012-3-29 21:24
sum()等聚合函数不能用在where中,要想用聚合函数就必须用在having作者: 徐刚 时间: 2012-3-29 23:20
where中不能使用聚合函数,必须使用Having,Having通常要位于Group By之后,Having中不能使用未参与分组的列。