研究row_number和rank分析函数的区别
来源:互联网 发布:linux while跳出循环 编辑:程序博客网 时间:2024/05/21 23:58
今天用了分析函数,然后上网看了有很多分析函数的前缀,比如row_number和rank等,当时并不知道这些函数的区别,于是自己就做了一些实验
row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开时排序).
rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内).
dense_rank()是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的 .
使用row_number可以看出,排序是有连续性的,没有跳号,即使是一样的值
上图,按照deptno分组排序之后,deptno=20相同2个3000,row_number是连续往下排序
使用rank可以看出,排序是跳跃性的:
不难看出,使用rank时候,相同的deptno 排序的序号是相同的,但是之后一个会直接跳过去,进行下一个数字显示。
0 0
- 研究row_number和rank分析函数的区别
- rank(),dense_rank(),row_number()分析函数用法和区别
- oracle分析函数row_number、dense_rank、rank的区别
- 分析函数(ROW_NUMBER、RANK、DENSE_RANK)的用法
- row_number rank 的区别
- Hive分析窗口函数之NTILE,ROW_NUMBER,RANK和DENSE_RANK
- Hive窗口和分析函数[RANK()、DENSE_RANK()、ROW_NUMBER()]
- row_number() 与 rank() 的区别
- Oracle的分析函数ROW_NUMBER、DENSE_RANK、RANKOracle的分析函数ROW_NUMBER、DENSE_RANK、RANK
- Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
- Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
- 【转】Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
- 如何使用Oracle的分析函数ROW_NUMBER、DENSE_RANK、RANK
- Oracle分析函数RANK(),DENSE_RANK(),ROW_NUMBER()的用法
- 数据库技术之rank、dense_rank、ntile、row_number函数的区别
- rank() over,dense_rank() over,row_number() over函数的区别
- rank (),dense_rank (),row_number () 常见的使用和区别
- 【Oracle】【SQL】rownum, row_number() 和 rank()的区别
- 奖学金文章连载一 49期刘慧
- 关于stringWithFormat:
- 20150716的一些感想
- PHP 使用GD库生成验证码 在图像上绘制汉字
- mysql备份以及我的备份文档
- 研究row_number和rank分析函数的区别
- 深入理解JavaScript系列(43):设计模式之状态模式
- umask命令
- 深入理解JavaScript系列(42):设计模式之原型模式
- 深入理解JavaScript系列(46):代码复用模式(推荐篇)
- LeetCode 234: Palindrome Linked List (回文链表)
- 深入理解JavaScript系列(41):设计模式之模板方法
- VS2010安装boost
- UIKit框架 -09.UIPageControl