我有以下幾列於下表我怎麼能寫一個雙重分組依據查詢
payments
recipient_id, sender_id, amount
我要總結的金額爲每個ID
像下面
select -sum(amount) from payments group by sender_id
select sum(amount) from payments group by recipient_id
,它給我從每個發件人帳戶中刪除的金額以及從每個收件人的帳戶中添加的金額。
如何將這兩個查詢合併爲一個查詢,以便我可以獲取收件人和發件人ID的金額?請注意,sender_id和recipient_id可能會重疊。就像一個收件人可以在其他查詢另一個交易的發件人。請注意,如果其發件人的金額爲負值,並且收件人的金額必須爲正值。 (發送者賠錢,收件人騙錢)
所以基本上,如果我有以下數據
recipient_id sender_id amount
1 2 50
2 3 100
2 4 150
3 1 50
我應該得到以下結果
account_id, amount
1 0
2 200 (sent 50, got 250)
3 -50 (sent 100, got 50)
4 -150 (sent 150 dollars)
如果你想顯示他們並排,你需要知道他們是如何彼此關聯。你是否希望它按照X發件人發送給Y收件人的所有時間進行分組? – paqogomez 2014-09-19 21:31:52
什麼是數據庫系統? MySQL的? SQL Server?甲骨文? – 2014-09-20 17:12:55