MySQL:基于每周投票的总点数

时间:2013-05-27 19:40:31

标签: mysql count

所以我每周投票给最好的比赛球员。用户可以投票选出3名最佳球员,第1名获得3分,第2名获得2次,第3名获得第3名。因此,只计算所有游戏的所有投票并找出谁是最好的,这将很容易。但每场比赛的票数可能会有很大不同。

例如:

Vote1:

第一名:共500票中的100票 - > 20%

Vote2:

第一名:共100票中的40票 - > 40%

所以我想计算所有比赛的所有选票,以便每场比赛都同样重要。基本上我认为我只需要计算每场比赛的投票百分比和总和。但是我怎样才能轻松实现这一目标?

我的表是这样的:

id,game_id,player3,player2,player1

1 个答案:

答案 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