现象

  • 数据库中不存在相同记录
  • 分页时出现相同记录

原因分析

  • 触发原因是排序问题,排序字段不唯一导致出现不同页重复数据
  • 由于没有 ORDER BY 子句,MySQL不保证以任何特定顺序返回,所以分页时排序字段最好确保唯一性
  • ORDER BY 子句用于排序的值全部相同时,会造成和没有 ORDER BY 子句一样的结果

解决方法

ORDER BY create_time DESC, no ASC 或 ORDER BY create_time,id DESC