MySQL排序小坑_mysql order by name相同导致排序混乱-CSDN博客
1、问题描述
列表页分页查询出现重复数据。
2、问题排查
排查最终执行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
3、出现问题数据
4、问题分析
sql含义:先按状态升序排序,再按时间升序排序。
问题分析:结合数据分析,相同status,相同start_time的情况下,当分页查询的条数3<两个排序条件都相同的条数4的时候,可能会出现查询数据重复的问题。
5、解决方案
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
MySQL排序小坑_mysql order by name相同导致排序混乱-CSDN博客