周累计销售总额

时间:2014-04-28 15:00:49

标签: sql-server-2008-r2 cumulative-sum

SELECT 
   WeeklyReportDetailsDataId, ItemId, StoreId, 
   ManufacturerRetailerAssocId, WeekSales, WKYR,
   SUM(WeekSales) OVER (PARTITION BY ItemId, StoreId, ManufacturerRetailerAssocId 
                        ORDER BY ItemId, StoreId, ManufacturerRetailerAssocId ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROWS) as ytd 
FROM 
   WeeklyReportDetailsData   
WHERE 
   ManufacturerRetailerAssocId = 10 
GROUP BY
   ItemId, StoreId, WeekSales, WeeklyReportDetailsDataId, WKYR, 
   ManufacturerRetailerAssocId  
ORDER BY 
   WeeklyReportDetailsDataId, ItemId, StoreId, ManufacturerRetailerAssocId, WKYR              

我收到错误,ROWS附近的语法不正确请帮助!!!!!!

1 个答案:

答案 0 :(得分:0)

CURRENT ROWS更改为CURRENT ROW。这应该可以解决你的错误!

修改

你的评论提到你在2008 R2上表示你没有能力使用“ROWS BETWEEN UNBOUNDED .....”部分。

请参阅SQL Server 20122008 R2OVER()聚合函数之间的区别