我的表将保存乐谱和首字母。
但是 table 不会被订购。
我可以很容易地得到总行数,我知道我可以得到所有的行数并排序,然后遍历它们并以这种方式获得排名......
但是有没有更好的办法呢?这可以用 SQL 语句完成吗?
我不太关心性能,所以如果 SQL 语句是一些疯狂的东西,那么我就循环。
抱歉 - 表以 id 作为主键,一个用于验证唯一应用安装的字符串,一个用于首字母的列和一个用于分数的列。
当有人点击 GET RANK 时...我希望能够告诉他们他们的分数是 100 名玩家中的 100 名。
最佳答案
SELECT s1.initials, (
SELECT COUNT(*)
FROM scores AS s2
WHERE s2.score > s1.score
)+1 AS rank
FROM scores AS s1
关于php - 如何最好地从带有 php 和 mysql 的分数表中获取某人的 'rank' 而无需循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8767323/