WHERE 关键字无法与合计函数一起使用

来源:互联网 发布:java多线程并发视频 编辑:程序博客网 时间:2024/05/16 11:27

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

可以这样(因为有having):

SELECT Customer,SUM(OrderPrice) FROM OrdersWHERE Customer='Bush' OR Customer='Adams'GROUP BY CustomerHAVING SUM(OrderPrice)>1500


但是,

不能这样(where ... on... or sum()):

不能的原因:WHERE 关键字无法与合计函数一起使用

举例:

SELECT Customer,SUM(OrderPrice) FROM OrdersWHERE Customer='Bush' OR Customer='Adams' and SUM(OrderPrice)>1500GROUP BY Customer
深层次的原因:

聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含的子查询中,并且要对其进行聚合的列是外部引用。

此处的聚合就是 and SUM()

原创粉丝点击