Mysql 中order by 和limit同时使用导致数据不准确
在当前开发过程中有一个功能需要先排序然后分页,发现数据混乱的情况,记录一下:
举个列子:
有一张user表
要求根据创建时间升序查询user表,并且分页查询,每页2条,那很容易写出sql为:select * from user order by create_time limit pageNo,2;
执行过程:
1、查询第一页数据时:
2、查询第四页数据时:
这个时候:user表共有8条数据,有4页数据,但是实际查询过程中第一页与第四页竟然出现了相同的数据。
这是什么情况?难道上面的分页SQL不是先将两个表关联查询出来,然后再排好序,再取对应分页的数据吗&#