Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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,范围在_Sql_Database_Sql Server 2012 - Fatal编程技术网

SQL,范围在

SQL,范围在,sql,database,sql-server-2012,Sql,Database,Sql Server 2012,我有这个: SELECT firstname, lastname, Sexe, Weight, sum(E.Weight) OVER (ORDER BY E.Height RANGE BETWEEN 10 PRECEDING AND 5 FOLLOWING ) AS SumHeight FROM HR.Employees AS E ORDER BY E.Height 但我得到了这个错误: 范围仅支持无界和当前行窗口框架分隔符 与上面所

我有这个:

 SELECT 

 firstname, lastname, Sexe, Weight,
 sum(E.Weight) OVER (ORDER BY E.Height 
                     RANGE BETWEEN 10 PRECEDING AND 5 FOLLOWING ) AS SumHeight

 FROM HR.Employees AS E
 ORDER BY E.Height
但我得到了这个错误:

范围仅支持无界和当前行窗口框架分隔符


与上面所说的差不多——在一个范围的末尾必须有无界行或当前行

您无法执行您试图执行的操作。

此t-SQL OVER子句显示:

先前的: 使用指定,以指示当前行之前的行数或值。这 范围不允许使用规格

因此,您的和范围内的规范只能使用无界前|当前行,分别使用无界后|当前行

您可能正在查找行i/o范围?

您应该使用行而不是范围:

否则,如果必须使用范围,则必须按照其建议,即使用无界和/或当前行分隔符:

SELECT 
 firstname, lastname, Sexe, Weight,
 SUM(E.Weight) OVER (ORDER BY E.Height 
                 RANGE UNBOUNDED PRECEDING) AS SumHeight
 FROM HR.Employees AS E
 ORDER BY E.Height

上述内容当然不能满足您的需要,只是向您展示了可能的使用方法。

是否介于和之间?您的意思是:选择名字、姓氏、性别、体重,sumE.Weight OVER ORDER BY E.Height介于前10和后5之间,作为人力资源部的sumE Height。员工作为E ORDER BY E.Height,这不正常,但在SQL2012中有什么替代方案?@savantKing使用介于。。。和
SELECT 
 firstname, lastname, Sexe, Weight,
 SUM(E.Weight) OVER (ORDER BY E.Height 
                 RANGE UNBOUNDED PRECEDING) AS SumHeight
 FROM HR.Employees AS E
 ORDER BY E.Height