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

SQL 排序分页精讲!ORDER BY+LIMIT 全套用法,报表分页

前言

学会了条件查询、模糊查询之后,日常业务还有两个刚需场景:

  • 查出来的数据杂乱无章,想按年龄、时间、金额从小到大 / 从大到小排序;
  • 数据有成千上万条,一次性加载全部卡死,需要分页展示,一页只展示 10 条、20 条;
  • 搞不清升序、降序关键字,写排序经常反着;
  • 面试高频考点:多字段排序、分页原理、LIMIT 偏移量坑点经常答不上;
  • 做后台列表、APP 列表、报表分页,全部离不开ORDER BYLIMIT

本篇用大白话 + 实战案例,手把手带你掌握单字段排序、多字段排序、升序降序、分页查询、偏移量分页,同时总结职场高频避坑点,学完直接能上手做业务列表分页。

知识点

一、ORDER BY 排序语法

ORDER BY:对查询结果,按指定字段进行升序 / 降序排列。 基础语法:

sql

SELECT 字段列表 FROM 表名 WHERE 条件 ORDER BY 字段名 [ASC|DESC];
  • ASC:升序,从小到大,默认可以省略
  • DESC:降序,从大到小,必须手动写

二、单字段排序

只根据一个字段进行排序,比如按年龄、注册时间、金额排序。

三、多字段排序

先按第一个字段排序,第一个字段值相同时,再按第二个字段排序。 适用场景:先按部门排序,同部门再按年龄排序。

四、LIMIT 分页语法

LIMIT:限制返回数据行数,实现分页效果,MySQL 专属高频用法。 两种格式:

  1. 只写一个参数:LIMIT n只返回前 n 条数据
  2. 写两个参数:LIMIT offset, rows
  • offset:偏移量,从第几条开始(从 0 开始计数
  • rows:每页展示多少条

分页通用公式:

第 page 页,每页 size 条LIMIT (page-1)*size , size

通俗类比 + 实例表格

通俗类比

  • ORDER BY:好比排队点名,可以按身高从矮到高、从高到矮站队;
  • 多字段排序:先按班级站队,同一个班里再按身高排序;
  • LIMIT:只挑前几个人出来,或者从第几个人开始往后挑几个人,实现一页一页看。

演示数据表:user 用户表

表格

idnameagegendersalary
1张三258000
2李四227200
3王五289500
4赵六258600
5孙七3012000

SQL 代码演示

1. 单字段升序(ASC 默认省略)

sql

-- 按年龄升序:从小到大 SELECT * FROM user ORDER BY age ASC; -- ASC 可省略,默认就是升序 SELECT * FROM user ORDER BY age;

2. 单字段降序 DESC

sql

-- 工资从高到低排序 SELECT * FROM user ORDER BY salary DESC;

3. 多字段排序

sql

-- 先按年龄升序,年龄相同再按工资降序 SELECT * FROM user ORDER BY age ASC, salary DESC;

4. LIMIT 限制返回条数

sql

-- 只取前3条数据 SELECT * FROM user LIMIT 3;

5. 分页查询实战

每页 2 条:

  • 第 1 页:LIMIT 0,2
  • 第 2 页:LIMIT 2,2

sql

-- 第1页,每页2条 SELECT * FROM user LIMIT 0,2; -- 第2页,每页2条 SELECT * FROM user LIMIT 2,2;

6. 条件 + 排序 + 分页 组合实战

sql

-- 查询男性用户,按工资降序,取前3条 SELECT * FROM user WHERE gender = '男' ORDER BY salary DESC LIMIT 3;

易错 / 避坑点

  1. ❌ 忘记LIMIT 偏移量从 0 开始✅ 正解:第一条数据偏移量是 0,不是 1,分页公式一定要记牢。

  2. ❌ 多字段排序只写一个 DESC ✅ 正解:每个排序字段的升降序单独指定,不写默认 ASC。

  3. ❌ 把 ORDER BY 写在 WHERE 前面 ✅ 正解:固定顺序:SELECT → FROM → WHERE → ORDER BY → LIMIT

  4. ❌ 大表深度分页用LIMIT 100000,10✅ 正解:偏移量越大越慢,生产大表禁止高偏移量分页,要用主键优化分页。

  5. ❌ 排序字段存在 NULL 值,排序结果错乱 ✅ 正解:排序时 NULL 默认排在最前面,业务要注意兼容处理。

小结

  1. ORDER BY实现排序,ASC 升序、DESC 降序,ASC 可省略;
  2. 支持单字段排序、多字段组合排序,满足复杂业务列表;
  3. LIMIT既能限制条数,又能通过偏移量,条数实现分页;
  4. 分页公式:LIMIT (页码-1)*每页条数 , 每页条数
  5. 标准执行顺序:WHERE 筛选 → ORDER BY 排序 → LIMIT 分页;
  6. 日常后台列表、APP 分页、报表排行、面试考点,全靠这两个语法。

思考题

思考题 1

ORDER BY 默认是升序还是降序?关键字是什么?

答案: 默认升序 ASC;降序关键字是DESC

思考题 2

写出 SQL:按工资从高到低排序,只取前 3 名员工。

答案

sql

SELECT * FROM user ORDER BY salary DESC LIMIT 3;

思考题 3

一共 5 条数据,每页显示 2 条,第 3 页怎么写 LIMIT?

答案: 页码 3,每页 2 条 偏移量 = (3-1)*2 = 4 语句:

sql

SELECT * FROM user LIMIT 4,2;
http://www.jsqmd.com/news/866459/

相关文章:

  • 为openclaw工具配置taotoken作为ai提供商的具体步骤与注意事项
  • 2026年RPA机器人解决方案选型指南:场景化落地适配
  • 威海各区房屋反复漏水真实原因解析:多数维修问题出在工艺匹配度 - 鲁顺
  • 【紧急修复】Perplexity同义词推荐突然失准?3分钟诊断清单+3个冷启动fallback方案(含Hugging Face最新patch)
  • 360浏览器隐私怎么清理?【图文讲解】360浏览器缓存清理?360浏览器上网痕迹清除?浏览器删除Cookie密码?共用电脑隐私清理?
  • AWS Security Agent 实战:全仓代码扫描 + 自动修复建议完整流程
  • 智慧渔业之鱼分类检测数据集 鱼类分类识别数据 鱼种类分类识别数据集 鱼识别数据集
  • # 2026年西藏旅游团家庭亲子推荐:线路适配与高原保障全解析 - 科技焦点
  • 独立开发者如何管理多个项目的API Key与访问权限
  • 外审员vs内审员具体做什么?需要什么能力? - 众智商学院职业教育
  • 为Claude Code配置Taotoken后端解决访问不稳定与Token不足问题
  • 宜昌各区房屋反复漏水真实原因解析:多数维修问题出在工艺匹配度 - 鲁顺
  • E.位运算-异或:2317. 操作后的最大异或和
  • 在stm32边缘计算场景中观测大模型api用量与成本控制
  • 宁德各区房屋反复漏水真实原因解析:多数维修问题出在工艺匹配度 - 鲁顺
  • 郴州各区房屋反复漏水真实原因解析:多数维修问题出在工艺匹配度 - 鲁顺
  • # 热门国产三维扫描仪推荐:2026年5大核心维度横向对比与避坑指南 - 科技焦点
  • # 2026年便携式三维扫描仪推荐:从便携性、性价比全方面解析 - 科技焦点
  • 如何用 Python 快速接入 Taotoken 并调用多个大模型
  • Kemono-scraper:构建企业级数字艺术资产管理系统的5大核心技术方案
  • 全系列工业仪器仪表国产源头厂家有哪些?2026年五大品牌盘点 - 科技焦点
  • 2026年无锡品牌首饰回收实测:添价收黄金奢侈品回收靠谱 - 薛定谔的梨花猫
  • 添价收发布2026广州名表回收全流程指南:六家机构横向对比手把手教新手卖表 - 薛定谔的梨花猫
  • 2026年北京地区艾比森LED显示屏服务商完全选型指南:核心评测 + 避坑手册 - 企业信息深度横评
  • 超长量程毫米级精度磁致伸缩液位计哪家好?2026年五大品牌对比 - 科技焦点
  • 终极Navicat重置指南:3种高效方法实现Mac版无限试用
  • 通过node.js sdk将taotoken集成到github开源web应用后端
  • 超长量程毫米级精度磁致伸缩液位计推荐:2026年核心技术参数与品牌横评 - 科技焦点
  • 2026广州名表回收机构综合实力排名:添价收领衔,六家权威对比谁更值得选 - 薛定谔的梨花猫
  • 2026福州黄金回收实力排名:添价收黄金奢侈品回收中心断层领先,六强格局全解析 - 薛定谔的梨花猫