排序函数row_number、rank、dense_rank的区别

刷题通过的题目排名

http://www.nowcoder.com/questionTerminal/cd2e10a588dc4c1db0407d0bf63394f3

口诀:
row_number 不存在并列
dense_rank 和rank存在并列,但rank很跳。
口诀的意思是
row_number:不考虑并列的情况,哪怕分数相同,排名都是一溜下来的自然数。
dense_rank和rank 考虑并列的情况,区别在于rank很跳,并列排名的个数会影响接下来的排名,表现为数字的中断。而dense_rank 不管有几个并列的第5名,接下来都是从6开始排。
如下图所示

本题的具体代码为:
select id
        ,number
        ,dense_rank()over(order by number desc) as t_rank
from passing_number;


全部评论
你这个能通过都是凑巧了,根本不对,题目还要求安装ID升序排序
1 回复 分享
发布于 2021-08-07 17:27
说那么多,结果答案都过不了
点赞 回复 分享
发布于 2021-07-02 20:23

相关推荐

评论
57
4
分享

创作者周榜

更多
牛客网
牛客企业服务