【转】MySQL实现Oracle里的 rank()over(ORDER BY) 功能

Oracle 
rank()和dense_rank()的区别是: 
–rank()是跳跃排序,有两个第二名时接下来就是第四名 
–dense_rank()l是连续排序,有两个第二名时仍然跟着第三名

select sno,cno,score,
rank() over(partition by cno order by score desc) "名次"
from sc;
--名次不跳跃 两个第二名 接下来还是第三名
select sno,cno,score,
dense_rank() over(partition by cno order by score desc) "名次"
from sc;
原文地址:https://www.cnblogs.com/Pjson/p/8646213.html