MySQL分页
一、基本用法
mysql分页基本语法:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
可以接收一个或者两个参数,参数必须为整数。
1、给定一个参数:表示的是返回记录数的最大行数
2、给定两个参数:第一个参数表示返回记录行的偏移量,注意偏移量从0开始
第二个参数表示返回的记录行数
二、实际开发常用
由上面的基本分页方法,可知:
select * from table limit 0,10; //表示查询第一页的10条数据,也就是第1 -10条数据
select * from table limit 10,10; //表示查询第二页的10条数据,也就是第11-20条数据
select * from table limit 20,10; //表示查询第三页的10条数据,也就是第21-30条数据。
但是项目环境中,一般传到后台服务中的数据是: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 条。