首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否可以在SQL查询中使用WHERE而不是WHERE?

我是否可以在SQL查询中使用WHERE而不是WHERE?
EN

Stack Overflow用户
提问于 2015-02-27 09:26:52
回答 1查看 1.7K关注 0票数 4

我一直认为我做不到,但MSDN却不这么说。

当GROUP BY不被使用时,具有类似WHERE子句的行为。

我检查并得到了错误:

Msg 8121: 列“.”在HAVING子句中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY中。

那么这是什么?文档中的错误,还是一个鲜为人知的细节?

这可能是在Sybase SQL Server中起作用的事情之一。现在,Microsoft更接近ANSI标准重写了SQL Server,但忘了修复文档。

情况就是这样吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-27 09:36:30

您可以在不使用having的情况下使用聚合函数,而无需使用group by

代码语言:javascript
复制
select avg(price) from tbltemp having avg(price) >= 2

在您提供的MSDN链接中,给出的示例指示我们使用where而不是where。

您不能写“从价格为>= 1000的货物中选择avg(价格)”,但您可以写“从价格>= >1000的货物中选择avg(价格)”。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28761521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档