(记)Mysql分页中,order by 和 limit 混用的陷阱

(记)Mysql分页中,order by 和 limit 混用的陷阱

order by 和 limit 用来排序是很常见的做法,但是今天测试数据的时候,发现了有的数据显示不出来,有的数据多次显示。

原因是:因为order by 排序的字段有重复的值出现,而mysql由于底层优化机制,并不是把所有的记录排序一次在拿出来做 limit 限制条件。 而是随机的取出最“近”的排序好的记录,直接做limit语句限制。 所以就导致了有的数据多次显示,而有的数据不显示。

解决办法: 加上其他字段进行排序,如:唯一的主键字段 ORDER BY age,id DESC

来源:https://blog.csdn.net/qiubabin/article/details/70135556

猜你喜欢

转载自blog.csdn.net/weixin_43725997/article/details/84195191