答案:
select score,
dense_rank() over (order by score desc) as 'rank'
from Scores
rank() 函数的使用:
rank() over(业务逻辑) :
查出指定条件,条件相同的排名相同,排名间断不连续
成绩相同得排名是相同,下一位空出所占的名次,如1 1 3 3 5 6。
dense_rank() over(业务逻辑) 作用:
查出指定条件,条件相同的排名相同,但排名是间断不连续的。
成绩相同排名也相同,下一位接着下一个名次,如 1 1 2 2 3 4。
now_number() over(业务逻辑) 作用:
查出指定条件后的进行排名,条件相同排名也不相同,排名间断不连续。
这个函数不需要考虑是否并列,即使根据条件查询出来的数值相同也会进行连续排序。如:1 2 3 4 5 6