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子句,但我不想这样做,因为计算后我想简单地按百分比排序结果。
有人可以帮我一点吗?
谢谢!它解决了我的问题并教我有用的东西。 –