表test(id,name,grade)
方式一:
select name 姓名,grade 分数,(select count(distinct grade) from test where grade>a.grade)+1 as 名次
from test a
order by grade desc
方式二:
select name 姓名,grade 分数,(select count(*) from test where grade>a.grade)+1 as 名次
from test a
order by grade desc