【发布时间】:2014-07-19 07:46:30
【问题描述】:
在我的游戏排名系统中,用户可以使用三个类别(例如:cat1、cat2、cat3)对游戏进行评分。
table game_ranking
| id | user_id | game_id | cat1 | cat2 | cat3 |
| 1 | 1 | 1 | 5 | 7 | 8 |
| 2 | 1 | 2 | 10 | 8 | 5 |
| 3 | 2 | 2 | 1 | 4 | 5 |
| 4 | 3 | 1 | 5 | 7 | 8 |
| 5 | 4 | 1 | 2 | 3 | 6 |
| 6 | 7 | 3 | 6 | 6 | 3 |
| 7 | 9 | 3 | 3 | 10 | 7 |
排名必须基于每个类别列之和的总和。
例如:game_id 2 得分 = cat1(10 + 1) + cat2(8 + 4) + cat3(5 + 5)。 所以 game_id 2 的得分是 33。
如果两场或多场比赛得分相同,则得票最多的比赛应该排在另一场之上。
我需要一个 MySql 查询来根据我上面提到的这些标准创建排名。
谢谢!
【问题讨论】:
-
您是否尝试过任何聚合函数,如 SUM,或使用 ORDER BY 排序?有什么错误或您不能使用那些有据可查的方法的原因吗?