iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql中limit查询方法怎么使用
  • 669
分享到

mysql中limit查询方法怎么使用

2023-07-05 16:07:43 669人浏览 八月长安
摘要

这篇文章主要介绍“mysql中limit查询方法怎么使用”,在日常操作中,相信很多人在Mysql中limit查询方法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中limit查询方法怎么使用

这篇文章主要介绍“mysql中limit查询方法怎么使用”,在日常操作中,相信很多人在Mysql中limit查询方法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中limit查询方法怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

背景

最近项目联调的时候发现了分页查询的一个bug,分页查询总有数据查不出来或者重复查出

数据库一共14条记录。

mysql中limit查询方法怎么使用

如果按照一页10条。那么第一页和第二页的查询sql和和结果如下。

那么问题来了,查询第一页和第二页的时候都出现了11,12,13的记录,而且都没出现 4 的记录。总有数据查不到这是为啥???

mysql中limit查询方法怎么使用

SQL

DROP TABLE IF EXISTS `creative_index`;CREATE TABLE `creative_index` (  `id` bigint(20) NOT NULL COMMENT 'id',  `creative_id` bigint(20) NOT NULL COMMENT 'creative_id',  `name` varchar(256) DEFAULT NULL COMMENT 'name',  `member_id` bigint(20) NOT NULL COMMENT 'member_id',  `product_id` int(11) NOT NULL COMMENT 'product_id',  `template_id` int(11) DEFAULT NULL COMMENT 'template_id',  `resource_type` int(11) NOT NULL COMMENT 'resource_type',  `target_type` int(11) NOT NULL COMMENT 'target_type',  `show_audit_status` tinyint(4) NOT NULL COMMENT 'show_audit_status',  `bound_adgroup_status` int(11) NOT NULL COMMENT 'bound_adgroup_status',  `gmt_create` datetime NOT NULL COMMENT 'gmt_create',  `gmt_modified` datetime NOT NULL COMMENT 'gmt_modified',  PRIMARY KEY (`id`),  KEY `idx_member_id_product_id_template_id` (`member_id`,`product_id`,`template_id`),  KEY `idx_member_id_product_id_show_audit_status` (`member_id`,`product_id`,`show_audit_status`),  KEY `idx_creative_id` (`creative_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试表';-- ------------------------------ Records of creative_index-- ----------------------------INSERT INTO `creative_index` VALUES ('1349348501', '511037002', '1', '1', '1', '1000695', '26', '1', '7', '0', '2023-03-16 22:12:56', '2023-03-24 23:38:49');INSERT INTO `creative_index` VALUES ('1349348502', '511037003', '2', '1', '1', '1000695', '26', '1', '7', '1', '2023-03-16 22:15:29', '2023-03-24 21:23:33');INSERT INTO `creative_index` VALUES ('1391561502', '512066002', '3', '1', '1', '1000695', '26', '1', '7', '0', '2023-03-23 23:37:34', '2023-03-24 21:24:04');INSERT INTO `creative_index` VALUES ('1394049501', '511937501', '4', '1', '1', '1000942', '2', '1', '0', '0', '2023-03-24 14:00:46', '2023-03-25 15:19:37');INSERT INTO `creative_index` VALUES ('1394221002', '511815502', '5', '1', '1', '1000694', '26', '1', '7', '0', '2023-03-23 17:00:41', '2023-03-24 21:23:39');INSERT INTO `creative_index` VALUES ('1394221003', '511815503', '6', '1', '1', '1000694', '26', '1', '3', '0', '2023-03-23 17:22:00', '2023-03-24 21:23:44');INSERT INTO `creative_index` VALUES ('1394257004', '512091004', '7', '1', '1', '1000694', '26', '1', '7', '0', '2023-03-23 17:23:21', '2023-03-24 21:24:11');INSERT INTO `creative_index` VALUES ('1394257005', '512091005', '8', '1', '1', '1000694', '26', '1', '3', '0', '2023-03-23 17:31:05', '2023-03-25 01:10:58');INSERT INTO `creative_index` VALUES ('1403455006', '512170006', '9', '1', '1', '1000694', '26', '1', '0', '0', '2023-03-25 15:31:02', '2023-03-25 15:31:25');INSERT INTO `creative_index` VALUES ('1403455007', '512170007', '10', '1', '1', '1000695', '26', '1', '0', '0', '2023-03-25 15:31:04', '2023-03-25 15:31:28');INSERT INTO `creative_index` VALUES ('1406244001', '512058001', '11', '1', '1', '1000694', '26', '1', '3', '0', '2023-03-23 21:28:11', '2023-03-24 21:23:56');INSERT INTO `creative_index` VALUES ('1411498502', '512233003', '12', '1', '1', '1000694', '26', '1', '0', '0', '2023-03-25 14:34:37', '2023-03-25 17:00:24');INSERT INTO `creative_index` VALUES ('1412288501', '512174007', '13', '1', '1', '1000694', '26', '1', '7', '0', '2023-03-25 01:11:53', '2023-03-25 01:12:34');INSERT INTO `creative_index` VALUES ('1412288502', '512174008', '14', '1', '1', '1000942', '2', '1', '0', '0', '2023-03-25 11:46:44', '2023-03-25 15:20:58');

解决问题

从查询结果可以看出,查询结果显然不是按照某一列排序的(很乱)。

那么是不是加一个排序规则就可以了呢?抱着试一试的态度,还真解决了。

mysql中limit查询方法怎么使用

分析问题

为什么limit查询不加order by就会出现 分页查询总有数据查不出来或者重复查出是不是有隐含的order排序

此时explain登场。

mysql中limit查询方法怎么使用

索引的作用有两个:检索、排序

因为两个SQL使用了不同的索引(排序规则),索引limit出来就会出现上面的问题,问题解开了。

到此,关于“mysql中limit查询方法怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: mysql中limit查询方法怎么使用

本文链接: https://www.lsjlt.com/news/353560.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql中limit查询方法怎么使用
    这篇文章主要介绍“mysql中limit查询方法怎么使用”,在日常操作中,相信很多人在mysql中limit查询方法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中limit查询方法怎么使用...
    99+
    2023-07-05
  • 使用Limit参数优化MySQL查询的方法
    要优化MySQL查询,可以使用LIMIT参数来限制返回的结果集的大小,以减少查询的时间和资源消耗。以下是一些使用LIMIT参数优化MySQL查询的方法:1. 限制返回的结果行数:使用LIMIT语句来限制返回的结果行数,可以减少查询的时间...
    99+
    2023-08-11
    Limit
  • MySQL中怎么优化limit查询
    今天就跟大家聊聊有关MySQL中怎么优化limit查询,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  同样是取10条数据select&n...
    99+
    2024-04-02
  • 怎么提高MySQL Limit查询性能的方法
    这篇文章给大家分享的是有关怎么提高MySQL Limit查询性能的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在MySQL数据库操作中,我们在做一些查询的时候总希望能避免数...
    99+
    2024-04-02
  • mysql 中怎么实现limit分页查询
    本篇文章为大家展示了mysql 中怎么实现limit分页查询,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  优化方法1(让分页操作在索引中进行):  一般表中经常...
    99+
    2024-04-02
  • mysql中的模糊查询方法怎么使用
    在MySQL中,可以使用LIKE操作符进行模糊查询。1. 使用通配符%:该通配符表示任意字符的任意数量。例如,要查找以 "abc" 开头的所有记录,可以使用以下查询语句:```sqlSELECT * FROM table_nam...
    99+
    2023-08-09
    mysql
  • MySQL聚合查询方法怎么使用
    本篇内容介绍了“MySQL聚合查询方法怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、前言前面的内容已经把基础的增删改查介绍的差不...
    99+
    2023-07-05
  • 如何在MySQL中使用LIMIT进行分页查询
    在MySQL中,可以使用LIMIT关键字来实现分页查询。LIMIT语法如下: SELECT column1, column2...
    99+
    2024-04-09
    MySQL
  • ThinkPHP5中查询方法怎么使用
    这篇文章主要讲解了“ThinkPHP5中查询方法怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ThinkPHP5中查询方法怎么使用”吧!一、查询之和的使用方法在ThinkPHP5中,...
    99+
    2023-07-05
  • mysql中limit 1的使用方法是什么
    在MySQL中,使用LIMIT 1可以限制返回的结果集中的行数为1行。这在需要仅返回结果集中的第一行时非常有用。LIMIT 1通常与...
    99+
    2024-04-09
    mysql
  • MongoDB中怎么使用查询find方法
    这篇文章主要介绍MongoDB中怎么使用查询find方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mongodb中查询方法find是一个很好的方法,find方法满足多个条件,会返回所有符合条件的对象。我们根据字段...
    99+
    2023-06-14
  • laravel中cursor查询方法怎么使用
    这篇文章主要介绍了laravel中cursor查询方法怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇laravel中cursor查询方法怎么使用文章都会有所收获,下面我们一起来看看吧。假设我们有一个us...
    99+
    2023-07-05
  • MySQL索引查询limit offset及排序order by用法
    目录引言使用 limit 和 offset 来限制返回的数量1、limit2、offsetorder by 的如下几个用法1、order by 的升序、倒序2、多个字段排序3、按照中文排序引言 “ ...
    99+
    2023-05-20
    MySQL limit offset order by MySQL 索引查询
  • MySQL中select limit怎么使用
    在MySQL中,SELECT语句的LIMIT子句用于限制查询结果的数量。使用LIMIT子句的基本语法如下:SELECT 列名...
    99+
    2023-10-19
    MySQL
  • mysql中的limit怎么是使用
    这篇文章主要介绍“mysql中的limit怎么是使用”,在日常操作中,相信很多人在mysql中的limit怎么是使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中...
    99+
    2024-04-02
  • mysql中update子查询的使用方法是什么
    在 MySQL 中,可以使用 UPDATE 子查询来更新一个表中的数据,方法如下: UPDATE table1 SET co...
    99+
    2024-04-09
    mysql
  • mysql中offset和limit怎么使用
    在MySQL中,OFFSET和LIMIT用于分页查询数据,其中LIMIT用于指定返回记录的数量,OFFSET用于指定从第几条记录开始...
    99+
    2024-04-12
    mysql
  • MySQL中limit对查询语句性能的影响
    一,前言  首先说明一下MySQL的版本: mysql> select version(); +-----------+ | version() | +...
    99+
    2024-04-02
  • mysql子查询怎么使用
    这篇文章主要讲解了“mysql子查询怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql子查询怎么使用”吧!出现在其他语句中的 select 语句,称为子查询或内查询;...
    99+
    2023-06-30
  • sql中limit的使用方法是什么
    在SQL中,LIMIT是一个用于限制查询结果集返回行数的关键字。 LIMIT语法如下: SELECT column1, co...
    99+
    2024-04-09
    sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作