下面是我当前的查询:
SELECT
item_id,
date,
(avg * stddev(value) over(partition by item_id order by to_date(date,'yyyymm')
RANGE BETWEEN INTERVAL '11' MONTH PRECEDING AND CURRENT ROW)
+
price * stddev(value2) OVER(PARTITION BY item_id ORDER BY to_date(date,'yyyymm')
RANGE BETWEEN INTERVAL '11' MONTH PRECEDING AND CURRENT ROW)
) as a
from table1有没有可能在SQL Server中复制RANGE BETWEEN的功能?范围在当月和前11个月之间。
发布于 2013-11-13 03:51:30
从2012版本开始,SQL Server添加了对窗口函数的支持,就像您在Oracle中所做的那样。唯一的区别将是日期处理,因为Oracle对日期间隔文字值有一个独特的语法(例如“间隔'11‘个月”)。
有关SQL Server2012中的窗口函数的信息,请参阅http://technet.microsoft.com/en-us/library/ms189461.aspx
有关日期范围处理的信息,请参见http://technet.microsoft.com/en-us/library/ms186724.aspx
https://stackoverflow.com/questions/19934867
复制相似问题