• 分页查询与TOP-N特性


    1. 分页查询

    分页起始行=(页码-1)* 每页长度+1

    分页终止行=页码 * 每页长度

    用法:

    SQL> select * from temp;

    ID     ENAME    SAL
    ---------- -------------------- ----------
    1    SMITH      5000
    2    ALLEN        5000
    3    WARD      5000
    4    JONES     5000
    5       MARTIN      5000
    6       BLAKE        2000
    7    CLARK        2000
    8      SCOTT        4000
    9      KING            4000

    9 rows selected.

    用分页查询 ID=4/5/6三行的数据

     /**通过内联视图进行查询**/

    SQL> select * from (select rownum num,t.* from temp t where rownum<7) a where a.num>3;

    NUM    ID   ENAME   SAL
    ---------- ---------- -------------------- ----------
    4      4   JONES    5000
    5      5   MARTIN     5000
    6      6   BLAKE     2000

    2. 使用TOP-N特性查询

    /**offset 3 rows 表示跳过三行,取后面的三行**/

    SQL> select * from temp offset 3 rows fetch first 3 rows only;

    ID     ENAME   SAL
    ---------- -------------------- ----------
    4     JONES    5000
    5     MARTIN   5000
    6     BLAKE     2000

    TOP-N特性的其他用法:

    /**只取前两行**/

    SQL> select * from temp fetch first 2 rows only;

    ID     ENAME   SAL
    ---------- -------------------- ----------
    1     SMITH    5000
    2     ALLEN    5000

    /**按照SAL倒叙取前20%的数据,rows only 表示即使有重复值也只取总数据的20%**/

    SQL> select * from temp order by sal desc fetch first 20 percent rows only;

    ID     ENAME    SAL
    ---------- -------------------- ----------
    1     SMITH    5000
    2     ALLEN    5000

    /**按照SAL倒叙取前20%的数据,rows with ties表示如果存在重复值,一并取出,即使超过实际需要的百分比条目数**/

    SQL> select * from temp order by sal desc fetch first 20 percent rows with ties;

    ID     ENAME   SAL
    ---------- -------------------- ----------
    1     SMITH    5000
    2     ALLEN    5000
    3     WARD    5000
    4     JONES   5000
    5     MARTIN    5000

    /**注意:如果没有对结果进行排序,即使使用了with ties,也不会取出重复值**/

    SQL>select * from temp fetch first 20 percent rows with ties;

    ID     ENAME   SAL
    ---------- -------------------- ----------
    1     SMITH    5000
    2     ALLEN    5000

  • 相关阅读:
    MBProgressHUD上传照片进度提示
    -oN ,-oX,-oG
    nmap -sN -p 22,80 www.baidu.com
    22/tcp open|filtered ssh 80/tcp open|filtered http
    nmap -sS
    nmap -sT
    tcpdump --nnx tcp and host 192.168.10.9
    awk对列求和
    genlist -s 192.168.1.*
    /usr/local/sbin/fping -s www.baidu.com www.google.com
  • 原文地址:https://www.cnblogs.com/eniniemand/p/14057430.html
Copyright © 2020-2023  润新知