//表示查询第一页的10条数据,也就是第1 -10条数据
select * from table limit 0,10;
  
//表示查询第二页的10条数据,也就是第11-20条数据
select * from table limit 10,10; 

 //表示查询第三页的10条数据,也就是第21-30条数据。
select * from table limit 20,10; 

但是项目环境中,一般传到后台服务中的数据是:currentPage(当前页数,一般从1开始)和 pageSize(记录行数),所以,在实际应用到sql中的时候,必须经过换算页码来进行分页查询。

通用的换算:

select * from table limit (currentPage-1)*pageSize,pageSize

说明

MySQL处理分页的时候,一般的逻辑是:

limit 10,10 - 查询出 10 + 10 条数据,然后丢弃掉前 10 条。

limit 20,10 - 查询出 20 + 10 条数据,然后丢弃掉前 20 条。

(参考:https://www.cnblogs.com/eric-fang/p/11176205.html)

Logo

更多推荐