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

 

 

 根据官网查到的解释,

 

 

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

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

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

目前解决方式

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

 

posted @   编程打工人  阅读(438)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示