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

[特殊字符] 第9篇:《SQL高阶 SELECT 技巧:DISTINCT、ORDER BY、LIMIT 全家桶》

🎬 开场白:你以为 SELECT * 就够用了?

初学 SQL 的时候,大多数人都是从这句开始的:

SELECT * FROM 表名;

但现实的业务需求远远不止 “把所有都查出来”。
你可能会遇到:

  • 查不重复的城市
  • 看最贵的前3套房
  • 只展示第一页的10条房源
  • 按价格从高到低排序结果
    这些事,全靠 SELECT 的"全家桶组合技"。

🍱 本期菜单

功能关键字用法举例
去重查询DISTINCTSELECT DISTINCT district
排序ORDER BYORDER BY price DESC
限制条数LIMITLIMIT 5
排名前几LIMIT + ORDER BYORDER BY xxx LIMIT n
分页LIMIT + OFFSETLIMIT 10 OFFSET 20

1️⃣ DISTINCT:去掉重复值

你只想知道有哪些区域,不想看到重复项?

SELECT DISTINCT district
FROM houses;

📌 只返回不重复的 district 值。

2️⃣ ORDER BY:排序查询结果

默认是升序(小 → 大),降序加 DESC。

SELECT * FROM houses
ORDER BY price DESC;
  • ORDER BY price:从便宜到贵
  • ORDER BY price DESC:从贵到便宜
    还可以多条件排序:
ORDER BY district ASC, price DESC

3️⃣ LIMIT:限制查询结果条数

✅ 查最贵的三套房:

SELECT title, price
FROM houses
ORDER BY price DESC
LIMIT 3;

4️⃣ LIMIT + OFFSET:分页神器

✅ 分页的常见逻辑:
比如你一页显示 10 条,想看第 3 页(也就是第 21-30 条):

SELECT * FROM houses
ORDER BY price DESC
LIMIT 10 OFFSET 20;

📌 OFFSET 是"跳过"的意思,先跳过 20 条,从第 21 条开始查。

5️⃣ LIMIT 用法口诀(分页实战记住!)

  • 第一页:LIMIT 10 OFFSET 0
  • 第二页:LIMIT 10 OFFSET 10
  • 第三页:LIMIT 10 OFFSET 20
  • 第 N 页:LIMIT 10 OFFSET (N-1)*10
    你可以配合前端分页逻辑,让查询结果干净利索!

🧠 总结口诀

DISTINCT 去重别再重复烦,
ORDER BY 排个序,升降记心间。LIMIT 限条数,OFFSET 分页干,
TOP N 查询好搭档,组合技最关键。

🛠 小练习题

  1. 查出不重复的所有 district
SELECT DISTINCT district FROM houses;
  1. 查租金最贵的前 5 套房子
SELECT title, price
FROM houses
ORDER BY price DESC
LIMIT 5;
  1. 查出第 2 页的房源(每页 3 条)
SELECT *
FROM houses
ORDER BY house_id
LIMIT 3 OFFSET 3;
http://www.xdnf.cn/news/16297.html

相关文章:

  • CN3798-2A 降压型单节锂电池充电芯片
  • Androidstudio 上传当前module 或本地jar包到maven服务器。
  • 二分查找----6.寻找两个正序数组的中位数
  • Python 数据分析(一):NumPy 基础知识
  • PI 思维升级 PI设计的典范转移:从阻抗思维到谐振控制
  • 【办公类-107-03】20250725通义万相2.1“动物拟人化”视频,优化关键词(图片转视频MP4转gif))
  • 我的世界之战争星球 暮色苍茫篇 第二十三章、出发!暮色森林!
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-26,(知识点:硬件电路的调试方法:信号追踪,替换,分段调试)
  • 恋爱时间倒计时网页设计与实现方案
  • 数据仓库深度探索系列 | 开篇:开启数仓建设新征程
  • Homebrew 更换镜像源加速软件安装:详细操作指南
  • NVM踩坑实录:配置了npm的阿里云cdn之后,下载nodejs老版本(如:12.18.4)时,报404异常,下载失败的问题解决
  • 壁纸管理 API 文档
  • PPIO上线阿里旗舰推理模型Qwen3-235B-A22B-Thinking-2507
  • [特殊字符] VLA 如何“绕过”手眼标定?—— 当机器人学会了“看一眼就动手”
  • Qt 与 SQLite 嵌入式数据库开发
  • ✨ 使用 Flask 实现头像文件上传与加载功能
  • 工业缺陷检测的计算机视觉方法总结
  • 【C++ python cython】C++如何调用python,python 运行速度如何提高?
  • 工程项目管理软件评测:13款热门平台一览
  • mysql 和oracle的选择
  • JMeter每次压测前清除全部以确保异常率准确(以黑马点评为例、详细图解)
  • Springboot整合springmvc
  • 微信小程序动态切换窗口主题色
  • SpringBoot3(若依框架)集成Mybatis-Plus和单元测试功能,以及问题解决
  • 全面解析MySQL(3)——CRUD进阶与数据库约束:构建健壮数据系统的基石
  • 关于回归决策树CART生成算法中的最优化算法详解
  • Android Kotlin 协程全面指南
  • 详解软件需求中的外部接口需求
  • 线性代数 上