zoukankan      html  css  js  c++  java
  • 26 Oracle数据库——分页

    Oracle数据库管理系统的分页

    分页概念

    从表中查到的数据过于庞大时,如果全部显示出来,则对浏览器页面显示是一个很大的负担同时也不美观,所以我们有必要对查询结果进行分页。

    如百度的搜索结果,如网络小说的下一页下一页。

    Oracle中的分页

    Oracle数据库为每一个表提供了一个字段:rownum,它用来对查询结果做编号,从1开始,并且对每一次查询结果都从1开始编号。

    所以我们要给获取的结果分页时,要依赖rownum,比如只取前五条记录为第一页:

    select rownum,e.* from emp e where rownum<=5;

    在使用where筛选时,rownum只能使用<和<=,因为rownum是动态的,当使用where rownum>时,获得的新表的rownum又从1开始,循环往复,使得rownum永远无法大于任何正值。所以当需要获取某个区间的记录时,不能使用 row>x ,row<y的形式,而是使用将rownum的值使用别名记录下来,在对查询到的表进行二次查询,通过记录的别来筛选即可达成目的。

    例如:要获取rownum为 5-10的案例:
    select rownum,t.* from (select rownum r,e.* from emp e) t where r>=5 and r<=10;


    设每页显示的数量为m,则查询第n页的公式为:
    select * from (select rownum r,e.* from 表名 e where rownum<n*m) t where r>m*n-m;

  • 相关阅读:
    语言相关
    一道简单DP题
    一道概率题
    Android CrashHandler
    一道简单数学题
    面试中遇到的随机题目
    VMWare 无损扩展磁盘大小
    Android 源码编译记录
    Android handler 内存泄露分析及解决方法
    Android 反编译
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/12309412.html
Copyright © 2011-2022 走看看