0

这是我的例子

SQLfiddle.com

谁能解释为什么AvgQuant无效的列名?

SQLfiddle 也是很棒的工具,但是如何设置舍入设置?例如,以下示例中的舍入不正确(只需删除 where 子句)

SELECT [Location]
  ,Avg([Quantity]) over (partition BY LOCATION) AS AvgQuant
  ,[Street]
FROM tblExample;

问候

4

1 回答 1

2

这是因为WHERE子句在投影之前执行,因此别名在此阶段不可用。您必须使用子查询来实现您想要的。

SELECT *
FROM
(
  SELECT [Location]
      ,Avg([Quantity]) over (partition BY LOCATION) AS AvgQuant
      ,[Street]
  FROM tblExample
) A
WHERE AvgQuant between 3.5 and 5.5;
于 2014-04-26T21:48:31.420 回答