(记)Mysql分页中,order by 和 limit 混用的陷阱
order by 和 limit 用来排序是很常见的做法,但是今天测试数据的时候,发现了有的数据显示不出来,有的数据多次显示。
原因是:因为order by 排序的字段有重复的值出现,而mysql由于底层优化机制,并不是把所有的记录排序一次在拿出来做 limit 限制条件。 而是随机的取出最“近”的排序好的记录,直接做limit语句限制。 所以就导致了有的数据多次显示,而有的数据不显示。
解决办法: 加上其他字段进行排序,如:唯一的主键字段 ORDER BY age,id DESC
来源:https://blog.youkuaiyun.com/qiubabin/article/details/70135556