2012-11-27 72 views
1

我正在嘗試計算事務表上的百分比。如果我使用觀點,我可以達到預期的效果,但對於我正在處理的數字,更快的事情會更受歡迎。如何計算單個表中的百分比

表(betID是唯一的):

 
betID | userID | success 
1 | 1  | -1 
2 | 1  | 1 
3 | 2  | -1 
4 | 3  | 1 

我要找到每一個用戶的勝率。我有一種強烈的感覺,我錯過了一些小小的東西,並且會踢我自己的答案,但是我看過的所有例子都無法工作。謝謝你的幫助!

回答

0

百分比是成功次數除以投注次數。

困難的部分是計算沒有做額外的選擇語句成功的次數。

答案是把-1值到0值,這樣的成功的總和爲您提供了成功的次數(我假設一個-1是虧損):

select userID, sum(if(success = 1, 1, 0))/count(*) * 100 as pct from bets group by userID; 
+0

啊!天才!永遠不會想到這樣計算。 – user1857842