Access数据库分页语句

来源:互联网 发布:linux从入门到精通.pdf 编辑:程序博客网 时间:2024/06/06 08:25

假设共有18(TotalRowNum)条数据,PageSize设为5 

SELECT TOP 5 * FROM
      (SELECT TOP 5 * FROM
              (SELECT TOP 15 ID, Title, Detail, CreateTime FROM BusinessInfo ORDER BY CreateTime DESC, ID ASC)     --最内层Top按照所需要的排序规则选出第n页的全部数据,15 =  3(CurrentPageNumber)×5(PageSize)
      ORDER BY CreateTime ASC, ID DESC)

     --将所选出的数据按照所需的排序规则逆向排序,这样所需要的数据就跑到开始,然后用Top N就可以选出当前也我们所需要的数据。N = CurrentPage==MaxPage?TotalRowNum - (CurrentPage-1)*PageSize : PageSize 5=5(PageSize) 当前为第三页,总共有4页
ORDER BY CreateTime DESC, ID ASC

    --最后将我们选出的数据再按照我们需要的方式再进行一次排序就好了