MySQL踩坑之排序后分页混乱重复(排序依据不唯一所致)

假如根据年龄排序,但是有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

最好能有个唯一的依据,不然因排序的不确定,分页就会混乱

猜你喜欢

转载自blog.csdn.net/qq_41844287/article/details/102880274