数据库表如下图1,现在要按照分数对数据进行排序。
图1 图2 图3
方法一
按照分数排序,相同分数序号相同
select a.*,(select count(*)
from scores b where a.score < b.score)+1 as rank
from scores a order by score desc
运行结果如图2.
方法二
按照分数排序,序号依次增加
select a.*,@rownum:=@rownum+1 as rank from
(select * from scores order by score desc) a, (SELECT @rownum:=0) r
运行结果如图3.