0
点赞
收藏
分享

微信扫一扫

第4篇:《ORDER BY 是你妈喊你排队吃饭:SQL里的排序秘诀》

Ichjns 07-20 21:00 阅读 19

🥇 第4篇:《ORDER BY 是你妈喊你排队吃饭:SQL里的排序秘诀》

关键词ORDER BYASCDESCLIMIT、组合排序、排序+筛选搭配

🎬 开场:当你妈喊你排队吃饭

小孩不听话,妈妈总得说:
“先让年纪小的吃,哥哥排后面!”
这个动作——让某种“顺序”决定谁先来,SQL 里就叫:
ORDER BY
今天我们就搞懂:SQL 里的排序到底怎么玩!

1️⃣ 先上个表:我们的房源数据

假设我们有如下表 houses

id

title

price

area

district

1

精装修一居室

1800

32

天河

2

押一付一两房

2500

48

海珠

3

大三房带电梯

3600

80

天河

4

电梯一房

1800

30

越秀

5

简装小户型

1500

25

天河

2️⃣ ORDER BY 的基本语法

SELECT * FROM 表名
ORDER BY 列名 ASC|DESC;

  • ASC:升序(默认),从小到大
  • DESC:降序,从大到小

✅ 实例:按价格升序排列

SELECT title, price FROM houses
ORDER BY price;

✅ 实例:按面积降序排列(最大房在最前)

SELECT title, area FROM houses
ORDER BY area DESC;

3️⃣ 排序 + WHERE 筛选联合使用

情景:我想找出价格低于 3000 元的房子,按面积从大到小排个序

SELECT title, price, area FROM houses
WHERE price < 3000
ORDER BY area DESC;

4️⃣ LIMIT:限制条数(Top N 热门榜单)

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

👉 结果:返回最贵的前三套房子

5️⃣ 组合排序(多列排序)

有时第一条件相同,就要看第二条件
情景:先按 price 升序,如果价格一样再按 area 降序:

SELECT * FROM houses
ORDER BY price ASC, area DESC;

🧠 排序口诀来了:

ORDER BY 是排序,ASC 升序来排起;
DESC 降序大在前,LIMIT 限个数靠你;
多个字段轮流看,组合排序最霸气!

🛠 小练习:快试试这些

  1. 找出最小的三套房子(按面积)

SELECT * FROM houses
ORDER BY area ASC
LIMIT 3;

  1. 找出“天河区”最贵的两套房

SELECT * FROM houses
WHERE district = '天河'
ORDER BY price DESC
LIMIT 2;

  1. 所有房源按价格升序、同价时面积大的排前

SELECT * FROM houses
ORDER BY price ASC, area DESC;

🪧 小贴士

  • ORDER BY 一定在 WHERE 后面
  • LIMIT 总是放在最后
  • 排序字段最好明确写是升还是降,避免混淆
  • 组合排序用 , 分隔多个字段
举报

相关推荐

0 条评论