MySQL没有任何分析/排名功能,但您可以使用变量人为创建排名值:
SELECT t.id,
t.udid,
t.name,
t.score,
@rownum := @rownum + 1 AS rank
FROM HIGHSCORES t
JOIN (SELECT @rownum := 0) r
ORDER BY t.score DESC
要查看与UDID“0000”关联的排名,请使用:
SELECT MAX(x.rank) AS rank
FROM (SELECT t.id,
t.udid,
t.name,
t.score,
@rownum := @rownum + 1 AS rank
FROM HIGHSCORES t
JOIN (SELECT @rownum := 0) r
ORDER BY t.score DESC) x
WHERE x.udid = '0000'
如果用户有多个高分值,则需要MAX.或者,您不能使用MAX并使用ORDER BY rank LIMIT 1.