mysql 使用limit 和 orderby 进行分页遇到数据重复的坑

 

 

 根据官网查到的解释,

 

 

mysql会对后台执行的limit语句进行优化。

1. 当组合使用 LIMIT row_count with ORDER BY,  mysql会在找到排序结果的一个row_count 后立即停止排序,而不是对整个结果进行排序。

2. 如果order by列有相同的值,那么MySQL可以自由地以任何顺序返回这些行。换言之,只要order by列的值不重复,就可以保证返回的顺序.

目前解决方式

          可以在orderby 子句中添加列,添加有索引的字段,比如主键 ID。这样在排序时可以保证顺序稳定。

 

posted @ 2022-01-22 19:28  编程打工人  阅读(455)  评论(0)    收藏  举报