2014-01-16 61 views
0

這應該是一個簡單的分區/排序依據...但是我今天有愚蠢的,並且看不到我惡意的方式。SQL Server 2012:窗口附近的'訂單'附近的語法不正確

這裏的架構和SQL:

create table #NoDiscountFleet 
(fleet_number int, 
customer_key int, 
posyear int, 
posmonth int, 
sale_net_val decimal(16,4), 
sale_tot_qty decimal(12,3), 
FirstDayOfMonth date, 
LastDayOfMonth date 
); 

select fleet_number, 
     lastdayofmonth, 
     tot_fleet_net_sales = sum(sale_net_val) over (partition by fleet_number order by fleet_number,lastdayofmonth) 
from #NoDiscountFleet 
group by fleet_number,lastdayofmonth 
     order by fleet_number; 
+0

我有它的順序通過在由車隊編號分區 - 如此 - 它應該是彙總的驅動因素之一。 – plditallo

回答

1

你不需要GROUP BY

SELECT fleet_number, 
     lastdayofmonth, 
     tot_fleet_net_sales = SUM(sale_net_val) OVER (PARTITION BY fleet_number 
                 ORDER BY lastdayofmonth) 
FROM #NoDiscountFleet 
ORDER BY fleet_number; 
+0

同樣的語法錯誤 – plditallo

+0

@plditallo然後你確定你使用的數據庫與SQL Server 2012 ?,因爲該語法工作:http://sqlfiddle.com/#!6/8c118/2 – Lamak

+0

...我知道我今天有*愚蠢的*!我通常在mssql2012服務器上......但今天...我不是 - 我在2008 r2實例上削減了2005年的兼容性,在您驗證實例的語法之前,我沒有注意到它。非常感謝 - 因爲我毫無疑問會浪費更多時間! – plditallo

相關問題