rank() over和row_number() over
来源:互联网 发布:开淘宝网店卖画 编辑:程序博客网 时间:2024/04/20 07:33
在ITPUB上,看到BITI这么说:
关于 rank() over 与 row_number() over
刚才在 电子杂志中看见了利用rank实现top n
偶只想提醒一点:
我们通常意义上的top N 的实现应该采用row_number() over 而不是rank
因为row_number 是给记录加一个序号标记
而rank是相当于进行排序后的排名,也就是如果排序列是相同的,那么他们的返回值也是相同的,而row_number则不可能返回相同值
SQL> select * from test;
A
----------
1
2
1
SQL> select a,rank() over(order by a) from test;
A RANK()OVER(ORDERBYA)
---------- --------------------
1 1
1 1
2 3
SQL> select a,row_number() over(order by a) from test;
A ROW_NUMBER()OVER(ORDERBYA)
---------- --------------------------
1 1
1 2
2 3
偶只想提醒一点:
我们通常意义上的top N 的实现应该采用row_number() over 而不是rank
因为row_number 是给记录加一个序号标记
而rank是相当于进行排序后的排名,也就是如果排序列是相同的,那么他们的返回值也是相同的,而row_number则不可能返回相同值
SQL> select * from test;
A
----------
1
2
1
SQL> select a,rank() over(order by a) from test;
A RANK()OVER(ORDERBYA)
---------- --------------------
1 1
1 1
2 3
SQL> select a,row_number() over(order by a) from test;
A ROW_NUMBER()OVER(ORDERBYA)
---------- --------------------------
1 1
1 2
2 3
- rank() over和row_number() over
- rank/row_number() OVER ()使用
- Oracle rank() over 与 row_number() over
- 关于row_number() over与rank() over
- dense_rank() over()、rank() over()、row_number() over分析函数
- dense_rank() over()、rank() over()、row_number() over分析函数
- SQL语句中的rank () over , row_number() over ,rank_dense () over
- rank() over,dense_rank() over,row_number() over函数的区别
- row_number() 、dense_rank() 、rank() 、Over、Pivot用法说明
- row_number(),dense_rank(),rank(),Over,Pivot用法说明
- row_number() 、dense_rank() 、rank() 、Over、Pivot用法说明
- ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD OVER()函数
- sql 排名函数 rank() , row_number() , dense_rank() over
- hive函数--排序row_number,rank over
- oracle 分组函数rank() over(),dense_rank(),row_number()
- SQL语句中的rank () over , row_number() over ,rank_dense (), PARTITION BY
- 关于排序rank () over , row_number() over ,rank_dense ()函数使用
- SQL语句中的rank () over , row_number() over ,rank_dense ()
- linux设置时间
- struts iterator 标签的 indexId 属性
- 得到字符串(含中文)的字节数
- javascript:void(0) javascript:; href="#"
- server 2008 与 vista 相关技巧
- rank() over和row_number() over
- 高手揭秘svchost.exe进程
- 不能在有这样的记录了
- 回调函数
- “网瘾”是孩子的正常反应
- 学Embedded感想
- 数字转换成大写金额
- 转载。。。
- 使用模板生成HTML页