试运行下这段:
select *
from(
SELECT
obj.id,
obj.score,
CASE
WHEN @rowtotal = obj.score THEN
@rownum
WHEN @rowtotal := obj.score THEN
@rownum :=@rownum + 1
WHEN @rowtotal = 0 THEN
@rownum :=@rownum + 1
END AS rownum
FROM
(
SELECT id,name,score
from test -- 表的名字
ORDER BY score DESC
)) AS obj,
(SELECT @rownum := 0 ,@rowtotal := NULL) r
) as no2
where rownum < 4