我正在开发一个游戏,玩家的分数在两种不同的方式,A,B。 在这场比赛中我有一个排名页面,显示你是在排名A,B和A的什么位置+ B以及A + B订购的玩家列表。PHP/MySQL的排名由多个列
什么是最有效的方式来获取这些不同的评分情况的排名,以及附近的用户为等级A + B(显示在列表上)?
我想我会做一个传过来的每个用户至少一次。我应该尝试使用多个左连接和子查询,并计算比A/B/A + B大得多的用户,或者只查询整个用户+分数列表并用PHP函数计算排名?
实施例:
UID | A | B
----------------
1 | 100 | 50
2 | 150 | 20
3 | 10 | 100
假设用户观看的排名是UID = 2,我们将看到:
SCORE LIST(A + B):
2 - 170
1 - 150
3 - 110
您是#1在分数A.
您是#3在分数B.
您是#1在分数A + B。
你可以添加示例数据和预期的输出? – 2015-03-24 23:14:35
编辑例如数据和输出 – 2015-03-24 23:46:11