假如根据年龄排序,但是有15个人的年龄都是20岁,但是我要的分页是10条记录一页,就会出现分页混乱数据重复。
因为年龄相同的人有15个,这15个人的排序就会不确定,这15个人之间是随机排序的。
可能第一次查询的时候张三在20岁的第一个,但是第二次查询的时候可能张三在20岁的最后一个。
这样就会导致两次分页结果不同,进而使得翻页的时候出现数据重复和数据不全的状况。
解决办法 :去掉排序或者再在其后边加一个根据ID排序
如:
select * from user order by age limit 0,10
//或者
select * from user order by age ASC limit 0,10
换成 :
`select * from user order by age,id limit 0,10
//或者
select * from user order by age ASC,id ASC limit 0,10
最好能有个唯一的依据,不然因排序的不确定,分页就会混乱