码迷,mamicode.com
首页 > 其他好文 > 详细

row_number()函数

时间:2014-12-22 15:57:51      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

row_number()over( partition by a order by b desc ) rn

根据【字段a】分组,分组内根据【字段b】排序,次函数返回的是每组内部排序后的序列号(分组内唯一不重复排序)

例子:

 技术分享

一张表,求按date,pay排序后的数据,且每天数据只有3条

 

select datetime,type,pay
  from (select row_number()over(partition by datetime order by pay) c_index,t_e.*
          from t_e )a
 where a.c_index <= 3

---------------------------------------------------------------------------------------------------------------------------------------------

扩展:

    row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开时排序).

  rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内).

  dense_rank()是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的 .

 

row_number()函数

标签:

原文地址:http://www.cnblogs.com/benbenduo/p/4178298.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!