zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

SQL 区别 number 每日 row RANK dense
2023-09-14 09:14:38 时间

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

资料推荐

题目

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学习与数据挖掘,后台回复关键字:面试,即可获取快速加入通道。

(长按三秒,即可进入)