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

MySQL 系统学习 第二阶段 第三章 DQL(Data Query Language)第三节:ORDER BY + LIMIT(排序 + 分页)

一、为什么必须学 ORDER BY + LIMIT?

你在真实业务中一定见过这些场景:

  • 用户列表(按时间排序)
  • 商品列表(按价格排序)
  • 订单列表(最新订单在最上面)
  • 分页(第1页、第2页、第3页)

这些全部依赖:

ORDER BY + LIMIT

二、ORDER BY(排序)

1. 基本语法

SELECT * FROM student ORDER BY 字段 排序方式;

2. 升序(ASC)

SELECT * FROM student ORDER BY age ASC;

👉 ASC = ascending(升序)

结果:

19 → 20 → 21 → 22

3. 降序(DESC)

SELECT * FROM student ORDER BY age DESC;

👉 DESC = descending(降序)

结果:

22 → 21 → 20 → 19

4. 默认排序规则

如果你不写:

ORDER BY age

默认是:

ASC(升序)

三、按多个字段排序(企业高频)

场景:

先按年龄排序,年龄相同再按成绩排序

SELECT * FROM student ORDER BY age ASC, score DESC;

解释:

第一优先级:age(小 → 大) 如果 age 相同: 第二优先级:score(大 → 小)

示例逻辑:

nameagescore
Tom2088.5
Mike2078.5

排序后:

Tom(20, 88.5) Mike(20, 78.5)

四、ORDER BY 本质(很重要)

数据库执行逻辑:

FROM → WHERE → ORDER BY → SELECT

👉 排序发生在过滤之后


五、LIMIT(分页核心)

1. 基础语法

SELECT * FROM student LIMIT 数量;

2. 示例

取前3条数据:

SELECT * FROM student LIMIT 3;

六、LIMIT + ORDER BY(最常用组合)

场景:取“最高分前三名”

SELECT * FROM student ORDER BY score DESC LIMIT 3;

结果:

Lucy 95.5 Jack 91 Tom 88.5

七、分页(重点中的重点)

1. 基本公式

LIMIT 起始位置, 数量

2. 示例

第1页(每页2条)

SELECT * FROM student LIMIT 0, 2;

第2页

SELECT * FROM student LIMIT 2, 2;

第3页

SELECT * FROM student LIMIT 4, 2;

3. 分页公式(必须记住)

offset = (page - 1) * pageSize

4. 举例(非常重要)

每页2条:

页码SQL
1LIMIT 0,2
2LIMIT 2,2
3LIMIT 4,2

八、ORDER BY + LIMIT 实战

1. 查询成绩最高的1个人

SELECT * FROM student ORDER BY score DESC LIMIT 1;

2. 查询年龄最小的2个人

SELECT * FROM student ORDER BY age ASC LIMIT 2;

九、企业开发真实用法(非常重要)

1. 用户列表

SELECT id, name, age FROM user ORDER BY create_time DESC LIMIT 20;

👉 最新用户在前


2. 商品列表

SELECT id, name, price FROM product ORDER BY price DESC LIMIT 10;

👉 最贵商品


3. 分页接口(后端常见)

SELECT * FROM user ORDER BY id DESC LIMIT 20 OFFSET 40;

👉 第3页数据


十、LIMIT 为什么很重要?

因为:

如果没有 LIMIT:

SELECT * FROM user;

可能返回:

100万条数据

👉 直接拖垮接口


十一、ORDER BY + LIMIT 性能问题(面试加分)

❗ 深分页问题

LIMIT 100000, 20

问题:

数据库要先扫描 100000 条再丢掉

👉 很慢


优化思路(了解即可)

WHERE id > last_id LIMIT 20

👉 用“游标分页”替代 offset 分页


十二、本节总结

功能SQL
升序ORDER BY col ASC
降序ORDER BY col DESC
多字段排序ORDER BY a, b DESC
取前N条LIMIT N
分页LIMIT offset, size
分页公式(page-1)*size

http://www.jsqmd.com/news/1140892/

相关文章:

  • 近期这4个技术小动态,可能悄悄影响你的企业数字化
  • MyFramework:Unity大型项目里的 UI 生命周期应该怎么管理
  • React 19 并发特性实战:useTransition 如何让 AI 面板不再卡顿
  • WorkBuddy 智能办公助手落地应用指南
  • WPS-Zotero插件:跨平台文献管理终极指南,5分钟实现高效论文写作
  • StreamCap:一站式自动化直播录制解决方案,高效捕获40+平台精彩内容
  • 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比——从需求出发,而非从技术出发
  • HappyHorse 40 层单流 Transformer 单次前向联合扩散计算拆解与实测数据
  • 工业负载控制方案:TPD2017FN与MKV46F256VLH16应用设计
  • 胡桃讲编程:JavaScript ECMA-262教学目录
  • Windows虚拟游戏手柄配置完全解决方案:vJoy开源项目深度解析
  • 法国持续高温
  • AIGC 内容审计:生成链路要能追到 Prompt 和模型版本
  • KLayout Python API生产环境实战:自动化版图处理架构深度解析
  • Python enigma-aps 包完全指南
  • 2026 最新等保合规服务商完整推荐(分四大赛道,按企业场景直接选)
  • OpenCV图像处理入门:从像素操作到实战技巧
  • iOS越狱终极指南:5步解锁iPhone隐藏功能的完整教程
  • 具身智能格局分化:傅利叶、星动纪元、越疆路径,谁握长期壁垒?
  • Chiplet与先进封装:中科院3大研究所(微电子所/自动化所/上海微系统所)技术储备盘点
  • 遥操作触觉引导模型:实时性、鲁棒性与临床落地的硬约束
  • 2026年AI论文写作工具全景评测:这5款工具如何提升论文写作效果
  • ArcGIS Pro 3.x 高程点批量生成:3步工具链实现 DEM 到 Excel 属性表
  • Vite Chunk 拆分:拆得细,不代表加载快
  • BQ25887与PIC32MX675F256L的电池平衡系统设计
  • 开源漏洞管理平台Faraday部署与实战指南:从Docker安装到自动化聚合
  • OptiStruct:试验和仿真模型对标—(坐标)模态置信因子
  • 为什么专业工地人员都选择高筒安全鞋?不仅仅是为了防砸!
  • 5 年 TCO 拆解:分得利 vs 陶朗光选机 2026
  • AI 工程化演进:从单模型部署到平台化服务