我正在做一个排名表,需要从查询中找到特定的行位置。
例如: 从玩家中选择姓名 ORDER BY 积分 DESC如何获取 name
字段为“John”或任何其他字段的记录的位置?
所以我希望结果给我一个数字(“约翰”的排名)
最佳答案
SET @rank=0;
SELECT @rank:=@rank+1 AS rank, name
FROM players ORDER BY points DESC
或
SELECT @rn:=@rn+1 AS rank, name
FROM (
SELECT name
FROM players ORDER BY points DESC
) t1, (SELECT @rn:=0) t2;
关于mysql查询获取具体记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11135738/