表结构:
select id from table limit 2,4;-->返回结果:3,4,5,6
select id from table limit 3,4;--->返回结果:4,5,6,7
select id from table limit 3,5;--->返回结果:4,5,6,7,8
由以上结果可分析得到论:
limit后第二参数是返回结果集大小,也就是我们常说的页面的大小(pageSize);
limit后第一个参数是结果的偏移量,可以理解为跳过多少行.
例如 limit 2,4 就是跳过2行数据,从第3行开始获取4条数据.
对于分页情况:传入当前页码(currentPage)和页面大小(pageSize),获取分页结果.
若pageSize=4,那么第一页数据应该是:1,2,3,4;偏移量为0;
第二页数据为5,6,7,8;偏移量为4;
第三页数据为9,10,11,12;偏移量为8;
由以上分析可以得出sql的写法应该是:
selelct id from table limit (currentPage - 1) * pageSize, pageSize