我有一個表中列出的項目和數量將在某個到期日期前出售。 我想計算一個正在運行的總列,它會顯示在某個特定時間內將售出多少物品。下面是我試圖獲得運行總數,但它不像我預期的那樣工作。SQL運行總計
select item, due_date, qty, sum(qty) over (Order by item)
from apsplan
Where item ='19-3102875'
order by item
我的錯誤:我使用SQL Server 2012的
這裏
Msg 102, Level 15, State 1, Line 44 Incorrect syntax near 'order'.
PS是我從這裏
SELECT
item,
due_date,
qty,
(SELECT SUM(t2.qty) FROM apsplan t2 WHERE t2.item <= t1.item and item = '196-31020-005') AS rolling_qty
FROM apsplan t1
WHERE
item = '196-31020-005'
ORDER BY
item
這裏收到的其他建議是結果 - 不是運行總數,而是超過
item due_date qty rolling_qty
196-31020-005 2017-09-20 00:59:00.000 1.00000000 24.00000000
196-31020-005 2017-10-06 01:00:00.000 1.00000000 24.00000000
196-31020-005 2017-11-06 01:00:00.000 1.00000000 24.00000000
196-31020-005 2017-12-06 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-01-28 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-02-04 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-03-25 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-03-25 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-04-01 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-04-08 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-04-29 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-05-06 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-05-13 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-05-27 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-06-03 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-06-10 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-07-01 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-07-08 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-07-15 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-07-29 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-08-05 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-08-12 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-08-26 01:00:00.000 1.00000000 24.00000000
196-31020-005 2019-09-02 01:00:00.000 1.00000000 24.00000000
問題中的查詢看起來很好。我沒有看到任何語法錯誤。你是否正在顯示你正在嘗試運行的實際查詢,還是某個精簡版本? –
我同意弗拉基米爾,執行罰款。由於它聲明第44行,我懷疑這是更大的查詢的一部分,問題在於其他地方 – SEarle1986
@ SEarle1986即代碼。我在上面的唯一的事情是在我來到這個之前我正在玩的同一個查詢的變化.....我已經註釋掉了所有這些,這些將會運行的唯一行是我在這裏發佈的行 – user2355773