当前位置: 首页 > news >正文

mysql | limit 用法详解及注意事项

mysql 中的 limit 用来限制 select 查询返回的行数,程序中常被用作分页查询。

一、limit 用法及示例

(一)基础用法及示例

语法:select * from 表名 limit [offset,] count

参数说明:

offset:偏移量,即指跳过多少行,可省略,默认为 0,表示跳过 0 行;范围为 [0,+∞)。

count:跳过 offset 行后,取 count 行数据,范围为 [0,+∞)。

特别注意:limit 中的 offset 和 count 必须大于等于 0;且不能为表达式,只能为明确的数字。

实例1:获取前3行记录

命令:select * from per_data limit 0,3;

实例2:获取第1行紧接着的2行记录

命令:select * from per_data limit 1,2;

(二)获取值最大的一条记录

实例:获取 id_num 值最大的一条记录。

思路:先按照 id_num 降序排序,然后取第一条记录。

命令:select * from per_data order by id_num desc limit 1;

(三)获取第 n 行到第 m 行数据

语法:select * from 表名 limit n-1,m-n+1; # offset 与 count 都是从0开始且为左闭右开。

实例:获取 per_data 表的第 3 到第 5 行的数据

命令:select * from per_data limit 2,3;

(四)实现分页查询

page:表示第几页,从1开始,范围 [1,+∞)

pageSize:每页显示多少条记录,范围 [1,+∞)

语法:select * from 表名 limit (page-1)*pageSize,pageSize;

原理与获取第 n 行到第 m 行数据相同

需要注意的是,在分页排序时,最好根据主键来排除二义性,在二义性情况下会导致分页结果混乱。

注:这里的二义性可理解为,按价格给商品排序,当遇到价格相同时,该怎么排序?价格相同又没指定其他条件,mysql 就乱排了。

二、limit X, -1 已不可使用

limit X, -1 早已不可使用,本身也是一个错误

(一)错误情况

需求:使用 mysql 时,需要获取第 X 条数据之后的所有数据。

这时,首先想到的就是利用 limit 来实现。

早期的部分文章或者资料中,提到可以使用:limit X,-1

例如,获取第一条后的所有数据,则可写成如下 sql 语句:

select * from per_data limit 1,-1;

执行该 sql 语句后,会发现报错如下:

错误提示原文:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 1

(二)错误原因及解决办法

错误原因:据官方解释,limit X, -1 这种形式被认为是一个优先级较低的 bug ,已经被修复,修复后的 limit ,将不再接收负数,两个参数都必须大于或等于 0 。

上图原文链接:https://bugs.mysql.com/bug.php?id=2037

(三)解决办法

任意填写一个满足需求的足够大的正数即可。

比如,示例表 per_data 中一共有 6 条数据,要求是获取第一条后的所有数据。

语法:【limit 1,count】 ,其中 count 可以是 [5,+∞)中的任意一个数。

完整语句如下:

select * from per_data limit 1,5;#这里的5可替换成任意一个大于5的数字

以上就是 mysql 中 limit 的用法及相关注意事项,可供参考。

-end-

http://www.cnnetsun.cn/news/167838.html

相关文章:

  • 霍华德·马克斯的市场周期定位技巧
  • 1500字免费降AIGC率的额度,2026年毕业论文查重必备!
  • 1500字免费降AIGC率的额度,2026年毕业论文查重必备!(附每天5次aigc查重)
  • 别再焦虑了!6款实测有效的降ai工具推荐,学姐手把手教你降低ai率!
  • 国外软件,安装即时专业版!
  • 防控近视你需要知道的这些科普常识!
  • 抽奖机随机号码生成:3 种算法实现 + 测试全解析(附完整代码)
  • LLM入门指南:预训练、SFT和强化学习三步构建ChatGPT式大模型
  • LangChain v1.0 Runtime深度解析:构建可测试、可复用的大模型智能体
  • 信息与关系:涌现的三大核心原则
  • c++狼人杀
  • 50天50个小项目 (React19 + Tailwindcss V4) ✨ | DrawingApp(画板组件)
  • 使用自定义注解校验请求参数
  • 敢不敢用一年时间读完这12本书,模型入门必看的12本书!建议收藏!!
  • 对比:Qwen-VL与传统的CNN在图像处理应用
  • 【硬件设计】DC12V输入的防护+滤波设计
  • 快!太快了!一键生成!一键导出!微信自动统计数据报表来了!
  • 智能决策系统日志系统设计:AI架构师的调试与分析技巧
  • 力扣 11.盛最多水的容器 简单的双指针算法 题解
  • 深度学习驱动的论文降重工具有效规避查重风险,智能改写段落
  • 温度传感器PT1000与NTC10K介绍
  • 震惊!这家酶制剂供应商竟让行业炸锅
  • 数学建模与排版无忧?这10个AI论文工具精准解决复现难题
  • AI对打工人的三个影响
  • 小程序/APP接入分账系统:4大核心注意事项,避开合规与技术坑
  • 靠谱的厦门考研公司哪个好
  • 二叉搜索树的最近公共祖先:别再蛮力了,用规则思维找“血缘关系”
  • 推荐6个AI论文网站,提供降重与自然改写功能避免标红
  • 智能学术支持:6个AI论文平台解析,自动润色让内容更专业
  • 从手动测试到自动化测试的转型之路:策略、挑战与未来