在使用mysql分页limit查询时,突然遇到一个问题,发现有几条记录没有查到,而分页中却有相同的记录。
SELECT id,product_code,device_code,device_name,create_time,update_time FROM t_device WHERE product_code = 'Xd3k4Y0' LIMIT 20,20;
例如在上图的结果2中用的是limit 20 20,结果3中用的是limit 40 20,却发现有重复的记录。
要知道上面的记录其它的ID是主键并且是唯一值的,所以分页出现重复的值就很奇怪了,经过搜索查询,得出下面的原因
mysql排序分页数据为什么会重复呢
1、sql语句中没有指定排序字段,可能会导致分页数据的重复;
2、分页方式不正确,可能会导致分页数据的重复;
解决办法是在查询的时候加个 order by id desc 排序问题解决。