zoukankan      html  css  js  c++  java
  • rownum与row_number() OVER (PARTITION BY COL1 ORDER BY COL2)

    1)rownum 为查询结果排序。使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序

    select rownum n, a.* from ps_user a order by name

    2)row_number() OVER (order by name)  包含排序从句OVER(),先排序再计算行号码 

    select row_number() over(order by name) n, a.* from ps_user a

    两种方式结果差异如下:

     

                    1)                                                              2)

    可见 第一种序号为按照我们想要的方式排序,序号是乱的。也可以通过rownum实现需要的排序结果,按如下方式编写语句

    select rownum n,a.* from
    (
    select a.* from ps_user a order by name
    ) a

    转载:http://tagalin.iteye.com/blog/1041574

    row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的),考虑以下语句

    SELECT G.*, ROW_NUMBER() OVER(PARTITION BY a ,b ORDER BY c DESC) ROWN
     from (select '1' a, '2' b, '1' c
             from dual
           union all
           select '1', '2', '2'
             from dual
           union all
           select '1', '3', '3'
             from dual
            union all
            select '1', '3', '4'
              from dual
            union all
            select '1', '4', '5' from dual
            union all
            select '1','3','5'from dual) G
    

    结果如下:

      

  • 相关阅读:
    FirstBlood溢出攻击
    ShellCode
    OD分析-熊猫烧香
    IDA分析-熊猫烧香
    PentestBOX教程
    安全从业人员常用工具指引-freebuf
    安全从业人员常用工具指引
    Python 网络编程
    10个免费的游戏开发引擎
    用树莓派搭建你自己的Web服务器,以及一个可以外网访问的Blog
  • 原文地址:https://www.cnblogs.com/senyier/p/3693826.html
Copyright © 2011-2022 走看看