说来忏愧,做了5年php,以为php+mysql网站开发已经完全掌握了,谁知道今天被个bug打脸!
bug描述:展示用户数据时,按年龄分页排序,结果发现有数据重复的情况
我弄了两小时,做各种测试都没搞明白是什么原因导致的。
后来记录下sql日志,拿同样一条sql放到数据库运行结果发现:数据和php查询的不一样。
完全一样的sql,返回就是不一样,后来想到这些数据有个共同点,排序字段:年龄字段的值一样,我试着加上id排序,果然好了。
原来当排序字段相同时,返回排序结果不固定,查询的时候排序字段一定要增加一个不相同的字段
order by age desc,id desc