不同数据库的分页实现

Oracle  
      1: 伪列 rownum
   
     select * from
      (SELECT t.*,rownum rn FROM t_user t where
        rownum<page.getCurrentPage()*page.getPageSize ()
       ) where rn>(page.getCurrentPage()-1)*page.getPageSize()

     2: 物理列 rowId
         select * FROM t_user t where rowId in(
                  select rowId from
                   (select t.*,rownum rn FROM t_user t)
                    where rn<page.getCurrentPage()*page.getPageSize ()
                    and rn>(page.getCurrentPage()-1)*page.getPageSize()                     
           )


Mysql

SELECT * FROM t_user t limit n,m;
          n 代表的开始位置  记录的第一条是0开始
          m 代表的返回的记录条数

 jdbc分页:
  SELECT * FROM t_user t limit
              (page.getCurrentPage()-1)*page.getPageSize (),
                    page.getPageSize ()


Sql server
        select top n from t_user ;
      表示显示表中的前  n条记录
    
         select top (page.getCurrentPage()-1)*page.getPageSize ()
         from
          ( select top page.getCurrentPage()*page.getPageSize ()
          from t_user  order by id desc)


DB2分页查询

SELECT * FROM (Select 字段1,字段2,字段3,rownumber() over(ORDER BY 排序用的列名 ASC) AS rn from 表名) AS a1 WHERE a1.rn BETWEEN 10 AND 20
以上表示提取第10到20的纪录

select * from (select rownumber() over(order by id asc ) as rowid from table where rowid <=endIndex )   
where rowid > startIndex




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值