Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server 2012的平均分区和位置_Sql Server_Where_Partition - Fatal编程技术网

Sql server SQL Server 2012的平均分区和位置

Sql server SQL Server 2012的平均分区和位置,sql-server,where,partition,Sql Server,Where,Partition,这是我的例子 有人能解释一下为什么AvgQuant是无效的列名吗 SQLfiddle也是一个很好的工具,但是如何设置舍入设置呢?例如,以下示例中的舍入不正确(只需删除where子句) 关于这是因为WHERE子句在投影之前执行,因此别名在此阶段不可用。您必须使用子查询来实现所需的功能 SELECT * FROM ( SELECT [Location] ,Avg([Quantity]) over (partition BY LOCATION) AS AvgQuant ,

这是我的例子

有人能解释一下为什么
AvgQuant
是无效的列名吗

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


关于

这是因为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;
SELECT *
FROM
(
  SELECT [Location]
      ,Avg([Quantity]) over (partition BY LOCATION) AS AvgQuant
      ,[Street]
  FROM tblExample
) A
WHERE AvgQuant between 3.5 and 5.5;