Mar*_*nko 4 sql-server having-clause
我一直以为我不能,但MSDN说不然.
不使用GROUP BY时,HAVING的行为类似于WHERE子句.
我检查过并得到错误:
消息8121:
列'...'在HAVING子句中无效,因为它不包含在聚合函数或GROUP BY中.
那么,它是什么?文档中的错误或鲜为人知的细节?
这可能是Sybase SQL Server中可用的功能之一.现在微软重写SQL Server更接近ANSI标准,但忘了修复文档.
是这样的吗?
您可以having不使用group by而是使用聚合函数.
select avg(price) from tbltemp having avg(price) >= 2
Run Code Online (Sandbox Code Playgroud)
在您提供的MSDN链接中,给出的示例指示我们使用where而不是.
您可能不会写"从价格> = 1000的商品中选择平均价格",但您可以写"从商品中选择平均价格>价格> => 1000"