zoukankan      html  css  js  c++  java
  • row_number()函数

    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是没有重复值的 .

  • 相关阅读:
    Some day some time we will do
    qemu-img 的使用
    虚拟化qemu-img的简单用法。
    linux 后台执行命令
    C#向服务器上传文件问题
    Canvas保存为图片
    一个Sql备注
    fabric Clone
    Js 正则获取Html元素
    Graphic 完成文字缩放
  • 原文地址:https://www.cnblogs.com/benbenduo/p/4178298.html
Copyright © 2011-2022 走看看