MSSQL 2008 R2中的窗口函数问题

Nil*_*sai 3 sql-server over-clause sql-server-2008 sql-server-2008-r2

我在以下sql脚本中收到执行错误.

Select TOP 1 Percent a.accode,a.voucherdate,a.credit,a.Debit,
    SUM(a.Debit) Over (Order By [a.accode],[a.voucherdate] ) as rdr 

    from VoucherMain as a 
    Order By a.accode,a.voucherdate
Run Code Online (Sandbox Code Playgroud)

错误信息

'order'附近的语法不正确.

谁能告诉我脚本syntext有什么问题?

Ric*_*iwi 6

问题是您需要SQL Server 2012及更高版本.好的,我为未来的访客添加了"及以上",但将2008年的"超越条款"2012年的"超越条款"进行了比较.

2008版本有这个重要的注意事项:

在排序窗口函数的上下文中使用时,<ORDER BY Clause>只能引用FROM子句提供的列.无法指定整数来表示选择列表中列的名称或别名的位置.<ORDER BY Clause>不能与聚合窗口函数一起使用.