每日一题:SQL 中 row_number()rank()和dense_rank()有啥区别

Posted Python学习与数据挖掘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题:SQL 中 row_number()rank()和dense_rank()有啥区别相关的知识,希望对你有一定的参考价值。

每日一题 精选常考面试题,将其汇总成专栏,利用零碎时间为职业保驾护航,建议大家独立思考答题。

资料推荐

题目

SQL 中 row_number()、rank()和dense_rank()的有什么区别?

准备的数据集

A,1
B,3
C,2
D,3
E,4
F,5
G,6

参考答案

创建临时表test_rank,执行sql

select a,row_number() over(order by b) row_number
,rank() over(order by b) rank,
dense_rank() over(order by b) dense_rank 
from test_rank;

区别如下

a   row_number  rank    dense_rank
A       1        1          1
C       2        2          2
D       3        3          3
B       4        3          3
E       5        5          4
F       6        6          5
G       7        7          6

为更好的交流学习,应读者的要求,我建立了一个交流群,有需要的同学可以扫描下方公众号或者微信搜索:Python学习与数据挖掘,后台回复关键字:面试,即可获取快速加入通道。

以上是关于每日一题:SQL 中 row_number()rank()和dense_rank()有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

SQL每日一题(20220303)及知识点总结

每日一题:java基础与sql

每日一题:java基础与sql

每日一题:3个几乎面试必考的SQL数据分析题(含数据和代码)

SQL每日一题(20200509)

SQL每日一题(20200509)