思路:按照某字段排序后,计算行号进行排名
SELECT t.*,
(@rowNum:=@rowNum+1) AS rank # 排名
FROM table AS t,
(SELECT (@rowNum :=0) ) b
ORDER BY t.score DESC; # 按照t的score降序排序
@rowNum:=@rowNum+1:排名rank为行号@rowNum+1
SELECT (@rowNum :=0):赋行号@rowNum初值为0
经测试,若出现同值情况,会按照id降序进行排序。