2
運行總
我有以下表(SQL Server 2012中):計算運行計數和跨客戶提供SQL
DID - cust id
GID - order id
AMT - order amt
Gf_Date - order date
SC - order reversal amount
我試圖計算訂單的運行計數和運行總銷售額客戶,以便我可以爲客戶實現累計銷售額達到1,000美元的時間點分配一個標誌。作爲第一步,我已經運行此查詢:
Select
[DID]
, [AMT]
, [Gf_Date]
, COUNT([GID]) OVER (PARTITION BY [DID] ORDER BY [Gf_Date]) [RunningGift_Count]
, SUM([AMT]) OVER (PARTITION BY [DID] ORDER BY [Gf_Date]) [CumlativeTotal]
FROM [dbo].[MCT]
WHERE [SC] is null
ORDER BY [DID]
但我得到的錯誤信息:
消息102,級別15,狀態1,行3附近有語法錯誤 '秩序'
我之前發佈了這個貼錯誤的錯誤消息。遺憾和歉意。你上面看到的是我得到的結果。有人評論說這個語法不正確。現在,一切都是爲了,有人能告訴我我做錯了什麼嗎?
任何人都可以幫我嗎?在任何地方都找不到解決方案!謝謝!
['ORDER BY'(http://msdn.microsoft.com/en-us/library/ms188385.aspx)必須最後的聲明。 –
那麼,我不能在同一個查詢中執行RunningCount和RunningTotal嗎? –
可能有多種方式。在SQL 2012中有使用'UNBOUNDED PRECEDING'的窗口函數,並且總是有遞歸的CTE作爲好的和快速的選項。我會看看我能否向你展示幾個例子。在此之前檢查此鏈接 - http://www.sqlperformance.com/2012/07/t-sql-queries/running-totals和http://stackoverflow.com/questions/860966/calculate-a-running-total- in-sqlserver並嘗試搜索'SQL Server Running Totals' –