问题截图

复现步骤

# 创建测试表
CREATE TABLE `t_test_filesort` (`id` int(11) NOT NULL AUTO_INCREMENT,`config_id` varchar(32) NOT NULL COMMENT '配置编号',`robot_id` varchar(32) NOT NULL COMMENT '机器人编号',`operator` varchar(128) NOT NULL COMMENT '操作人员',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_config_id_robot_id` (`config_id`,`robot_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试filesort';# 插入假数据
insert into `t_test_filesort` (`id`, `config_id`, `robot_id`, `operator`) values
(44,"config001","robot621","英勇无比没有腹肌的Vincent"),
(10,"config001","robot6210","英勇无比没有腹肌的Vincent"),
(8,"config001","robot6211","英勇无比没有腹肌的Vincent"),
(14,"config001","robot6212","英勇无比没有腹肌的Vincent"),
(12,"config001","robot6213","英勇无比没有腹肌的Vincent"),
(2,"config001","robot6214","英勇无比没有腹肌的Vincent"),
(1,"config001","robot6215","英勇无比没有腹肌的Vincent"),
(4,"config001","robot6216","英勇无比没有腹肌的Vincent"),
(3,"config001","robot6217","英勇无比没有腹肌的Vincent"),
(6,"config001","robot6218","英勇无比没有腹肌的Vincent"),
(5,"config001","robot6219","英勇无比没有腹肌的Vincent"),
(45,"config001","robot622","英勇无比没有腹肌的Vincent"),
(35,"config001","robot6220","英勇无比没有腹肌的Vincent"),
(37,"config001","robot6221","英勇无比没有腹肌的Vincent"),
(36,"config001","robot6222","英勇无比没有腹肌的Vincent"),
(39,"config001","robot6223","英勇无比没有腹肌的Vincent"),
(38,"config001","robot6224","英勇无比没有腹肌的Vincent"),
(32,"config001","robot6225","英勇无比没有腹肌的Vincent"),
(40,"config001","robot623","英勇无比没有腹肌的Vincent"),
(42,"config001","robot624","英勇无比没有腹肌的Vincent"),
(13,"config001","robot625","英勇无比没有腹肌的Vincent"),
(15,"config001","robot626","英勇无比没有腹肌的Vincent"),
(9,"config001","robot627","英勇无比没有腹肌的Vincent"),
(11,"config001","robot628","英勇无比没有腹肌的Vincent"),
(7,"config001","robot629","英勇无比没有腹肌的Vincent"),
(46,"config001","robot62","英勇无比没有腹肌的Vincent"),
(19,"config001","robot71","英勇无比没有腹肌的Vincent"),
(41,"config001","robot710","英勇无比没有腹肌的Vincent"),
(43,"config001","robot711","英勇无比没有腹肌的Vincent"),
(18,"config001","robot72","英勇无比没有腹肌的Vincent"),
(20,"config001","robot74","英勇无比没有腹肌的Vincent"),
(24,"config001","robot75","英勇无比没有腹肌的Vincent"),
(22,"config001","robot76","英勇无比没有腹肌的Vincent"),
(28,"config001","robot77","英勇无比没有腹肌的Vincent"),
(26,"config001","robot78","英勇无比没有腹肌的Vincent"),
(33,"config001","robot79","英勇无比没有腹肌的Vincent"),
(29,"config001","robot810","英勇无比没有腹肌的Vincent"),
(16,"config001","robot811","英勇无比没有腹肌的Vincent"),
(17,"config001","robot812","英勇无比没有腹肌的Vincent"),
(21,"config001","robot83","英勇无比没有腹肌的Vincent"),
(25,"config001","robot84","英勇无比没有腹肌的Vincent"),
(23,"config001","robot85","英勇无比没有腹肌的Vincent"),
(30,"config001","robot86","英勇无比没有腹肌的Vincent"),
(27,"config001","robot87","英勇无比没有腹肌的Vincent"),
(34,"config001","robot88","英勇无比没有腹肌的Vincent"),
(31,"config001","robot89","英勇无比没有腹肌的Vincent");# 每页10条,查询第一页
select * from `t_test_filesort` where `config_id` = "config001" order by `update_time` DESC limit 0,10;
# 每页10条,查询第二页
select * from `t_test_filesort` where `config_id` = "config001" order by `update_time` DESC limit 10,10;

解决方案

# 每页10条,查询第一页
select * from `t_test_filesort` where `config_id` = "config001" order by `update_time` DESC, id ASC limit 0,10;
# 每页10条,查询第二页
select * from `t_test_filesort` where `config_id` = "config001" order by `update_time` DESC, id ASC limit 10,10;


问题总结

要排序的字段(update_time)值一样,排序没有了依据

If multiple rows have identical values in the ORDER BY columns, the server is free to return those rows in any order, and may do so differently depending on the overall execution plan. In other words, the sort order of those rows is nondeterministic with respect to the nonordered columns.

参考文档:
https://dev.mysql.com/doc/refman/8.0/en/limit-optimization.html
https://dba.stackexchange.com/questions/120961/mysql-order-by-is-equal-in-what-order-are-the-results-returned
https://stackoverflow.com/questions/6662837/how-mysql-order-the-rows-with-same-values

鸣谢:向老板、杨老板、郝老板

Mysql翻页查询数据重复怎么办?相关推荐

  1. mysql 的翻页查询

    前言: 前段时间在写 mybatis-plus 的翻页查询功能的时候突然想到,mysql 语句本身肯定是有翻页查询的功能,所以研究一波. limit 实现翻页 sql 语句还是正常写,但是要在后面加上 ...

  2. mysql+翻页性能,mysql 翻页优化

    mysql翻页优化 对于翻页,我们通常是用 select fields from table limit 100,10 但是当要越翻后面的页数之后,耗时变得很长 select fields from ...

  3. MySQL基础之查询数据

    MySQL基础之查询数据 一.DQL操作表中记录环境搭建 细节:查询只是查看数据,不会修改表中数据 创建商品表(goods2)包含: 商品名称(name),商品价格(price),商品销量(sales ...

  4. MySQL中DQL查询数据——(四)

    MySQL中DQL查询数据--(四) 本篇博客,是个人根据 西部开源-秦疆老师的教学视频整理出的笔记,想看最详细的教学笔记和提供的SQL语句素材,请点击如下链接: https://www.cnblog ...

  5. java mysql jsp分页代码_JAVA/JSP学习系列之六(MySQL翻页例子)

    JAVA/JSP学习系列之六(MySQL翻页例子) 更新时间:2006年10月13日 00:00:00   作者: 一.运行前准备 下载了mysql的jdbc驱动(一个jar文件)并加载在CLASSP ...

  6. 数据库不断有新数据插入, 导致分页查询数据重复的问题

    问题描述 首先, 查询数据时是按照数据的录入时间分页查询的, 最新的数据一直是第1页; 同时, 库表不断地有新数据写入, 这就导致了分页查询数据请求出现重复问题. 例如19:31分时分页查询请求第1页 ...

  7. JAVA-MySQL四{MySQL重点DQL查询数据}JAVA从基础开始 --7

    JAVA-MySQL四{MySQL重点DQL查询数据}JAVA从基础开始 --7 DQL查询语句 DQL - Data Query Language:数据查询语言 指定查询字段 1.全查 2.指定字段 ...

  8. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

  9. php 查看mysql连接数据库_php基础之连接mysql数据库和查询数据

    php基础之连接mysql数据库和查询数据 文章主要介绍了php连接mysql数据库和查询数据的方法和示例,需要的朋友可以参考下,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕 ...

最新文章

  1. OpenCV 4.5.4 刚刚发布!新增SoftNMS、DNN模型8位量化等功能
  2. The Interface name: -- index:21 you checked seems not up.
  3. BIEE多层表头报表的制作方法
  4. java 字符正则匹配算法_算法之字符串——正则表达式匹配
  5. 一份非常完整的 MySQL 规范
  6. c++面向对象高级编程 学习四 静态、类模板、函数模板
  7. Python爬虫实现:三连文章参与抽奖
  8. C#开发笔记之18-如何用C#模拟(传统方法)发送Post请求或Get请求?
  9. ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
  10. Solr数据库6.3.0版本配置问题:whose UTF8 encoding is longer than the max length 32766
  11. [译]AngularJS1.3.0 开发者指南(四) -- 控制器
  12. java take,Java DelayQueue take()用法及代码示例
  13. VBA学习笔记3-数据结构类型SortedList
  14. linux 多线程 semaphore ,Linux下多线程编程-Pthread和Semaphore使用.doc
  15. netty 引用计数对象(reference counted objects)
  16. 使用 ClickHouse 构建通用日志系统
  17. python matplotlib searbon 设置画版颜色 热力图固定颜色等级 固定比例尺寸大小
  18. 最新数字藏品系统源码一套+价值9000缘
  19. Panoply:一款netCDF, HDF and GRIB数据查看器
  20. 解决android sdk中找不到tools目录Android sdkmanager tool not found (D:\Android\SDK\tools\bin\sdkmanager).

热门文章

  1. java计算机毕业设计基于ssm的果蔬销售购物平台
  2. springboot生鲜水果商城销售系统
  3. Microsoft Excel 2000/2003修复工具
  4. 超融合一体机概述及优势
  5. 【毫米波雷达】理解IQ信号调制与解调
  6. 杰理AC692X,695X,696X方案NFC音响耳机、故事机
  7. 关于STM32驱动LCD显示屏,程序下载后白屏、乱码需要上电复位才能恢复正常问题的解决办法
  8. matlab判断星期几的语句,C语言之根据英文星期首字母来判断星期几
  9. 见证国内人工智能与机器人技术的进步
  10. C盘User下的中文名字修改为英文遇到的问题