我創建了一個投注數據庫,我試圖確定誰是最好的和最差的投注者。我立志做最簡單的方法是用戶獲得的獎金之和減去由他們打賭從兩個sql查詢中扣除多行
總和量我的第一個SQL查詢是
SELECT fromuser,SUM(itemsgiven::int)
FROM transactions
WHERE transtype='Bet Placed'
GROUP BY fromuser
ORDER BY 2 DESC
它返回這個
fromuser sum
15228328 2689
13896406 2634
55954103 308
37460340 64
66589399 62
然後我的第二查詢是確定總贏取
SELECT touser,SUM(itemsgiven::float)
FROM transactions
WHERE transtype='Bet Won'
GROUP BY touser
ORDER BY 2 DESC
其中r eturns這
touser sum
15228328 4387.515
55954103 152.295
13896406 120.285
66589399 71.28
37460340 56.925
我的問題是什麼是對這些查詢結合起來,所以我可以有兩列,一個與用戶ID和其他與它們的總獎金(或losings)的最佳方式。我查了一些例子,但是讓我絆倒的部分是你如何確定當你減去只從相同的用戶ID中減去的兩個總和。
編輯:我使用PostgreSQL
你使用的是mysql還是postgres?請選擇一個平臺,您的答案可能取決於其中一個或另一個的功能。 – paqogomez 2014-09-24 17:11:57
我正在使用postgresql – ark 2014-09-24 17:26:26