zoukankan      html  css  js  c++  java
  • 分页查询与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

  • 相关阅读:
    《代码之道》试读:规范书变更请求
    解读ASP.NET MVC 4 规划路线图
    淘宝数据魔方技术架构解析
    《程序员实用算法》试读:1.2.2主要的优化:函数调用
    《软件框架设计的艺术》试读:2.2 模块化应用程序
    磁盘分割原理
    无锡云计算中心3年内到底做了什么
    模式识别的一些资料
    边缘检测算法
    用递归方法来搜索连通区域
  • 原文地址:https://www.cnblogs.com/eniniemand/p/14057430.html
Copyright © 2011-2022 走看看