关于order by .. limit翻页的重复和漏记录问题

tssungeng 2014-11-25 08:35:58
列表的分页显示中,如果我们按照自增的id(自始至终无变化),那么 select … from … where… order by id desc limit 20,10 这样分页,每页都不会又重复的记录,也不会漏掉记录。
如果我是要针对一个不断变化的值来排序,比方说我有个字段叫“热度”,那 select … from … where… order by 热度 desc limit 20,10 这么排,如果对应那几条记录的“热度”值在翻到下一页的时候有了变化,那怎么保证我第二页的数据和第一页的数据不重复,或者保证不漏掉记录?
...全文
288 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2014-11-25
  • 打赏
  • 举报
回复
有变化时,你期望如何显示呢? 如果不希望变化,则只能先对查询结果做个快照,或者把查询的所有记录全部送到客户端。
tssungeng 2014-11-25
  • 打赏
  • 举报
回复
引用 1 楼 zy205817 的回复:
因为你查询加了条件限制,所以每次分页的时候,条件也要加上,这样就不会导致分页数据重复。
条件不变,但是order by的对应值在这段时间有变化
码无边 2014-11-25
  • 打赏
  • 举报
回复
因为你查询加了条件限制,所以每次分页的时候,条件也要加上,这样就不会导致分页数据重复。

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧