赞
踩
MySQL排序小坑_mysql order by name相同导致排序混乱-CSDN博客
列表页分页查询出现重复数据。
排查最终执行sql日志。
- select * from tableA where
- (start_time>='2024-04-17 00:00:00') AND (start_time<'2024-05-18 00:00:00')
- ORDER BY status asc, start_time asc LIMIT 10,3
sql含义:先按状态升序排序,再按时间升序排序。
问题分析:结合数据分析,相同status,相同start_time的情况下,当分页查询的条数3<两个排序条件都相同的条数4的时候,可能会出现查询数据重复的问题。
order by后面的条件建议加上某个唯一列,如:id。
- select * from tableA where
- (start_time>='2024-04-17 00:00:00') AND (start_time<'2024-05-18 00:00:00')
- ORDER BY status asc, start_time asc,id 3 LIMIT 10,3
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。