0
我有表存儲用戶在網站上做出的每一個投注。根據我的問題,只有2個重要的列:爲每個用戶選擇有效性
+--------+--------+
| userid | status |
+--------+--------+
| 2 | 0 |
| 2 | 1 |
| 2 | 1 |
| 6 | 1 |
| 6 | 1 |
+--------+--------+
我想計算爲每個用戶贏得賭注的百分比。 0表示丟失。 1意味着贏了。
因此,顯然百分比將贏得投注/所有投注。
我試圖通過下面的查詢來做到這一點,但它不像它應該那樣工作。
SELECT userid,(
(select count(id) as count_won from bets where status=1)
/
(select count(id) as count_all from bets where status!=-1)) * 100 as percent FROM bets group by userid;
我得到的結果:
+--------+---------+
| userid | percent |
+--------+---------+
| 2 | 80.0000 |
| 6 | 80.0000 |
+--------+---------+
它計算所有的賭注百分比。我如何爲每個用戶進行計算?
我知道我可以用userid添加WHERE子句,但我不想這樣做,因爲計算後我想簡單地按百分比排序結果。
有人可以幫我一點嗎?
謝謝!它解決了我的問題並教我有用的東西。 –