排序函数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

相关推荐

练习JAVA时长两年半:qps 30000
点赞 评论 收藏
分享
挣K存W养DOG:我记得好多人说这个公司就是白嫖方案的,现在有大体方案要让你给他展示实现细节了,也是无敌了
点赞 评论 收藏
分享
04-09 11:42
门头沟学院 Java
爱学习的小女孩:请问一下双非本的简历怎么过好像在boss上投递,学历都被卡住了,是要简历很优秀直接去官网投吗?
投递字节跳动等公司6个岗位 > 双非本科求职如何逆袭 字节求职进展汇总
点赞 评论 收藏
分享
评论
57
4
分享

创作者周榜

更多
牛客网
牛客企业服务