【发布时间】:2016-07-23 14:46:00
【问题描述】:
我最近开始关注 Microsoft SQL Server 2012 T-SQL Fundamental book 来学习 T-SQL。我尝试在 SQL Server 2008 r2 中执行以下查询
SELECT empid, ordermonth, val,
SUM(val) OVER(PARTITION BY empid
ORDER BY ordermonth
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS runval
FROM Sales.EmpOrders;
查询无法执行并显示以下错误消息
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near 'ROWS'.
这是 sales.emporders 视图的片段
empid ordermonth qty val numorders
-----------------------------------------------------------------
5 2007-10-01 00:00:00.000 361 7581.33 9
6 2007-06-01 00:00:00.000 173 3464.81 7
9 2007-09-01 00:00:00.000 93 8776.15 5
5 2008-02-01 00:00:00.000 276 5377.06 15
5 2007-07-01 00:00:00.000 213 6475.40 5
4 2006-10-01 00:00:00.000 613 13718.97 27
在想办法解决 sql server 2008 r2 时需要帮助
【问题讨论】:
-
这是一个新属性,可用于 SQL Server 2012,而不是以前的 SQL Server 版本。您也可以将行范围子句 kodyaz.com/t-sql/… 应用于 SQLServer 2012 中新增的分析函数
标签: sql-server tsql sql-server-2012 sql-server-2008-r2 window-functions