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