与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪劣rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码。row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开始排序)。
b、rank() over() @H_404_2@rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内) @H_404_2@c、dense_rank() over() @H_404_2@dense_rank()也是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的。 @H_404_2@示例: @H_404_2@如有表Test,数据如下 @H_502_24@
- CREATEDATEACCNOMONEY
- 2014/6/5111200
- 2014/6/4111600
- 2014/6/5111400
- 2014/6/6111300
- 2014/6/6222200
- 2014/6/5222800
- 2014/6/6222500
- 2014/6/7222100
- 2014/6/6333800
- 2014/6/7333500
- 2014/6/8333200
- 2014/6/93330