zoukankan      html  css  js  c++  java
  • 数据库常见分页的处理方式

      亲爱的小伙伴们,我们今天要讲解的内容是Java的分页的相关内容,这里主要讲的是如何控制数据查询出指定记录的信息。

    至于分页的具体方式,这里不做过多的介绍。感兴趣的话可以自己研究。

    一.使用数据本身的分页方式进行相关分页操作

        1.sql server数据的方案

            方案一:

            -- pager the record

         -- note: n代表要求查询的第n页的记录,x表示每一页有x条记录。
         select top x * from tb
         where pk_col not in (select top (n-1)*x pk_col from tb) 
    select top x * from tb where pk_col not in (select top (n-1)*x
         -- demo(示例:)查询第31到40页的信息
        select top 10 * from persons
        where username not in(select top ((3-1)*10) username from persons)

    方案二:
     -- pager the record
       -- note: n代表要求查询的第n页的记录,x表示每一页有x条记录。

    select top x * from tb
    where pk_col in (select top (n-1)*x pk_col from tb order by pk_col asc)order by pk_col desc;
     -- demo(示例:)查询第31到40页的信息
    select top 10 * from tb where pk_col in (select top (3-1)*10 pk_col from tb order by pk_col asc) order by pk_col desc;

    2.Mysql数据库的分页方案
    MySQL数据库实现分页比较简单,提供了 LIMIT函数。一般只需要直接写到sql语句后面就行了。
    LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两个参数,
    第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数。
    例如: select * from table WHERE … LIMIT 10; #返回前10行
    select * from table WHERE … LIMIT 0,10; #返回前10行
    select * from table WHERE … LIMIT 10,20; #返回第10-20行数据

    --demo
    查询31到40的结果集
    select * from tb limit 30,10;
     
    3.Oracle数据的分页方案
    考虑mySql中的实现分页,select * from 表名  limit 开始记录数,显示多少条;就可以实现我们的分页效果。
    但是在oracle中没有limit关键字,但是有 rownum字段rownum是一个伪列,是oracle系统自动为查询返回结果的
    每行分配的编号,第一行为1,第二行为2,以此类推。。。。

    例如:select * from (select rownum rn,* from tb where rn<=40) where rn>30;
    --demo
        查询31到40的结果集
        select * from tb (select rownum rn,* from tb where rn<=40) where rn>30;
    
    
     
    
    
    
    

           

           

  • 相关阅读:
    JS函数浅析(一)
    H5_canvas与svg
    h5+js视频播放器控件
    【BZOJ3622】已经没有什么好害怕的了
    【9.29 模拟】T3 小清新最优化(easy)
    9.27模拟
    9.26 模拟
    4062 -- 【清华集训2012】串珠子
    【SNOI2017】炸弹
    P3216 [HNOI2011]数学作业
  • 原文地址:https://www.cnblogs.com/xiohao/p/4333491.html
Copyright © 2011-2022 走看看