浏览器标题切换
浏览器标题切换end

LeetCode数据库178 - 分数排名 - 窗体函数的用法

题目链接

https://leetcode-cn.com/problems/rank-scores/

关于窗体函数的用法

下面三个窗体函数的例子基于这个前提:如果现在有五个分数:9、9、8、7、6。

  1. rank():排名为相同时记为同一个排名, 所有排名都参与总排序。排名后为:1 1 3 4 5

  2. dense_rank() over (PARTITION BY xx ORDER BY xx [DESC]):排名相同时记为同一个排名, 并且不参与总排序。排名后为:1 1 2 3 4

    • dense_rank() over (order by xx [desc]):如果不指定partition by的话:相当于所有行数据一个 partition, 数据进行区内排序

    • dense_rank():相当于每一行数据一个窗口, 对数据进行比较

  3. row_number() over (over (PARTITION BY xx ORDER BY xx [DESC])):排名相同时记为下一个排名。排名后为:1 2 3 4 5

AC代码

select 
    Score,
    dense_rank() over (order by Score desc) as 'Rank'
from 
    Scores;
posted @ 2021-04-12 09:05  抓水母的派大星  阅读(74)  评论(0)    收藏  举报