我在Oracle數據庫中有一個表,其中包含以下感興趣的字段:位置,產品,日期,金額。我想編寫一個查詢,按地點,產品和日期獲得總計金額。我在下面列出了一個我希望得到的結果的示例表。按組SQL運行總計(Oracle)
我可以得到一個運行總數,但當我到達一個新的位置/產品時,我無法重置它。這是我迄今爲止的代碼,任何幫助將不勝感激,我有一種感覺,這是一個簡單的修復。
select a.*, sum(Amount) over (order by Location, Product, Date) as Running_Amt
from Example_Table a
+----------+---------+-----------+------------+------------+
| Location | Product | Date | Amount |Running_Amt |
+----------+---------+-----------+------------+------------+
| A | aa | 1/1/2013 | 100 | 100 |
| A | aa | 1/5/2013 | -50 | 50 |
| A | aa | 5/1/2013 | 100 | 150 |
| A | aa | 8/1/2013 | 100 | 250 |
| A | bb | 1/1/2013 | 500 | 500 |
| A | bb | 1/5/2013 | -100 | 400 |
| A | bb | 5/1/2013 | -100 | 300 |
| A | bb | 8/1/2013 | 250 | 550 |
| C | aa | 3/1/2013 | 550 | 550 |
| C | aa | 5/5/2013 | -50 | 600 |
| C | dd | 10/3/2013 | 999 | 999 |
| C | dd | 12/2/2013 | 1 | 1000 |
+----------+---------+-----------+------------+------------+
您沒有找到解釋如何分區數據的文章有用嗎?雖然答案是分區。 –
我沒有downvote這個答案,但我認爲肯定有改進的餘地。也許考慮增加更多的上下文/內容 - 似乎對SO有共識,[僅有鏈接不足以獲得好的答案](http://meta.stackexchange.com/questions/7515/why-is-linking-bad )。 – crennie
另外,這個鏈接可能更適合作爲評論而不是答案......但不幸的是,你需要50個代表。如果你像我一樣,你認爲這是蹩腳的,那麼請查看[這個關於它的問題](http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation ),這給出了一些動機的限制,並且還提出了一些寫出好的答案的方法:D – crennie