所以我每周投票给最好的比赛球员。用户可以投票选出3名最佳球员,第1名获得3分,第2名获得2次,第3名获得第3名。因此,只计算所有游戏的所有投票并找出谁是最好的,这将很容易。但每场比赛的票数可能会有很大不同。
例如:
Vote1:
第一名:共500票中的100票 - > 20%
Vote2:
第一名:共100票中的40票 - > 40%
所以我想计算所有比赛的所有选票,以便每场比赛都同样重要。基本上我认为我只需要计算每场比赛的投票百分比和总和。但是我怎样才能轻松实现这一目标?
我的表是这样的:
id,game_id,player3,player2,player1
答案 0 :(得分:0)
这是使用UNION ALL
将所有玩家放在一起的一种方式(如果我正确理解你的问题) - 不能完全确定你想要的结果,所以现在就这样离开。
select player_id, sum(points)
from (
select player3 player_id, 3 points
from games
union all
select player2, 2
from games
union all
select player1, 1
from games
) t
group by player_id