7

我正在使用 SQL Server 2008 R2。

我正在尝试编写一个显示以下内容的查询:

select productname, unitprice,categoryid, sum(unitprice) 
over (partition by categoryid order by unitprice desc) As PriceSum
from Products

我希望结果是按单价订购产品,同时按类别划分产品。我收到此错误:Incorrect syntax near 'order'. 我做错了什么?

4

1 回答 1

11

你没有做错什么。SQL Server 2008 不支持使用窗口函数运行聚合。

SQL Server 2012 终于完全支持窗口函数,包括运行聚合。所以如果你真的需要这个,你将需要升级。

请参阅 SQL Server 2012 的此 SQLFiddle:http ://sqlfiddle.com/#!6/5303f/1

于 2012-09-22T08:07:38.693 回答