关于使用SQL语句的分页详解

    技术2024-06-14  71

    一般我们学习分页,都是从基本的SQL语句分页开始的。

    在分页的过程中,我们通常需要下面几个变量

    当前页数:pageNum

    每页的条数:rowsPerPage

    总条数:total

    总页数:totalPage

    因为totalPage可以通过total和rowsPerPage计算出来,

    totalPage=total%rowsPerPage==0?total/rowsPerPage:total/rowsPerPage+1;

    所以我们只需要获得三个变量就可以了。

    第一个pageNum通过前台传递过来。

    第二个rowsPerPage也可以通过前台传递或直接指定。

    第三个total需要从数据库查询得到,查询语句如下:

    select count(*) from TableName

    最后就是分页的语句了:

    SELECT TOP rowsPerPage * FROM TableName

    where 1=1 and (ID NOT IN (SELECT TOP ( rowsPerPage *( pageNum -1)) ID FROM TableName ORDER BY ID DESC))

    ORDER BY

    ID DESC

    这条SQL的意思就是查询当前页要显示的条数,

    条件是本页要显示的内容的ID不应该在之前页之内, 也就是不能重复显示。

    (ID NOT IN (SELECT TOP ( rowsPerPage *( pageNum -1)) ID FROM TableName ORDER BY ID DESC))

     

    总结:这样通过四个参数和上面的这条SQL语句就可以完成基本的分页了。有不清楚的可以留言。

    最新回复(0)