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

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值