快乐SQL复习 - ORDER BY结果排序和LIMIT,OFFSET子句

本文介绍了在SQL中如何使用ORDER BY进行结果排序,包括ASC和DESC的使用,以及结合LIMIT和OFFSET子句来分页显示结果。通过实例展示了如何按照不同条件对数据进行升序或降序排序,并获取特定数量的记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果我们想要排序我们筛选出来的结果,比如说,按年龄从大到小排序,按单价从便宜到贵排序,应该怎么做呢?

我们会用到ORDER BY关键字,语法如下:

SELECT column, another_column, …

FROM table

WHERE condition(s)

ORDER BY column ASC/DESC

在这里,ASC 和 DESC 的意思分别是升序和降序, asc 是ascend,升序的意思,1,2,3,4,5就是升序。而DESC 是descend, 降序的意思,5,4,3,2,1就是降序。

我们来举个栗子实践一下:

这是一个消费者的表,表名为:consumer

我们想让他按照年龄升序排序,应该这样来写:

SELECT * FROM consumer

ORDER BY age ASC

输出结果为:

那如果我们只想看女性的消费者,并且按年龄的降序排序呢?

SELECT * FROM consumer

WHERE gender LIKE "F"

ORDER BY age DESC


LIMIT 和 OFFSET 子句

LIMIT 和 OFFSET 子句通常和ORDER BY 语句一起使用,当我们对整个结果集排序之后,我们可以 LIMIT 来指定要返回多少行结果 , 用 OFFSET来指定从哪一行开始返回。(如果offset 3,就是从第四行开始)

意思就是说,LIMIT决定数量,OFFSET决定起点。

语法如下:

SELECT column, another_column, …FROM table

WHERE condition(s)

ORDER BY column ASC/ DESC

LIMIT num OFFSET num

举个栗子,我只想要consumer表格里,年龄最小的三个consumer,我应该怎么写呢?

答案:

SELECT * FROM consumer

ORDER BY age DESC

LIMIT 3

输出:

那如果想要他从第三位开始算起呢?

我们应该这么写:

SELECT FROM consumer

ORDER BY age  DESC

LIMIT 3

OFFSET 2

这就是关于order by的复习啦~

喜欢的话可以收藏~也可以给兔子点个赞噢~奥利给!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值