当order by与limit混用时,order by的那一列如果数据有相同的,mysql会没有顺序返回,即一会儿这条在前面,一会儿这条在后面,所以,当翻页时会看到重复数据。
如:
select * from sys_user order by name limit 5;
解决办法:
在使用order by的时候,在本身需要排序的目标字段后再加上一个唯一字段(如主键id或者其他字段进行综合排序),保证顺序唯一性。
如:
select * from sys_user order by name,id limit 5;