--rank() over课程编号为4的课程成绩相同的人排名相同,排名不连续 1 2 2 4
select cno, rank() over(partition by cno order by grade desc)
from t_score
where instr('2,4', cno) > 0
-- dense_rank() over课程编号为4的课程成绩相同的人排名相同,排名不连续 1 2 2 3
select cno 课程编号, dense_rank() over(partition by cno order by grade desc) 排名
from t_score
where instr('2,4', cno) > 0
![rank() over,dense_rank() over,row_number() over的区别 - JAVA学习博客 - MyJAVA](http://img9.ph.126.net/XewGrqwNdOtJMQc0zhrREg==/6597180817330478999.jpg)
-- row_number() over课程编号为4的课程成绩相同的人排名相同不同,排名连续 1 2 3 4
select cno 课程编号, row_number() over(partition by cno order by grade desc) 排名
from t_score
where instr('2,4', cno) > 0