有缘则是停泊,无缘则是流浪!

Welcome to Valen's Space!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

分页算法(1)

Posted on 2009-03-08 21:04  Valen  阅读(186)  评论(0编辑  收藏  举报

算法思想:

第1步设定4个数值

1RowCount           获得总记录数

2PageSize            分页记录数

3PageCount           分页总数

4PageCurrent         当前页


第2步根据总记录数和分页记录数求出总页数

If(RowCount%PageSize==0)

{
         PageCount = RowCount/PageSize;

}

Else

{

         PageCount = RowCount/PageSize+1;

}

第3步获得所需的记录数

如果每页显示3条记录,即PageSize=3 , 那么第4页的记录数应该为10,11,12
公式:PageSize*(PageCurrent-1) = 3*(4-1) = 9 如下查询语句是查处除9条记录之外的3条记录,即为第4页 9,10,11条记录

select top "+PageSize+" * from tb_UserInfo where Uid not in (select top "+PageSize*(PageCurrent-1)+" Uid from tb_UserInfo)