分页

定义四个分页变量

pageNow  表示第几页,该变量是由用户来决定,因此变化

pageSize     每页显示几条记录,由程序指定,也可以由用户定制

pageCount 表示共有多少页, 该变量是计算出来->思考 怎样确定

rowCount  共有多少条记录,该变量是查询数据库得到

 

如何确定pageCount

(1)

if(rowCount% pageSize==0){

       pageCount=rowCount/pageSize;

}else{

       pageCount=rowCount/pageSize+1;

}

试试: 比如 users表 9 条记录 pageSize=3  =>pageCount=3

       比如 users表 10 条记录 pageSize=3  =>pageCount=4

(2)

上面的算法等价于

pageCount=rowCount% pageSize==0 ?rowCount/pageSize: rowCount/pageSize+1;

 

该运算称为三目运算

(3)

更简单的算法是:

pageCount=(rowCount-1)/pageSize+1;

试试: 比如 users表 9 条记录 pageSize=3  =>pageCount=3

       比如 users表 11 条记录 pageSize=3  =>pageCount=4

 


从users表中按照id分页

oracle分页select方法:

(1)利用三层嵌套,首先排序

select * from( 
select t.* ,rownum rn from (
select * from users order by id) t where rownum<=pageSize*pageNow)
where rn>pageSize*(pageNow-1)


sqlserver 分页两种方法:

(1) 

select top pagesize(每页显示多少记录) * from users  where id not in(select top pagesize*(pagenow(要跳转的页)-1) id from users )

(2)    

select top pagesize(每页显示多少记录) * from users where id>(
       select max(id) from ( 
              select top (pageSize*(pageNow-1))* from users order by id
       ) as t
) order by id


mysql的分页

select * from users limit pageSize*(pageNow-1),pageSize*pageNow

求总共有多少行

select coutn(*) from users






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值