SQL关键字三分钟入门:ORDER BY 排序数据就这么简单

在实际业务中,我们不仅关心查到了什么数据,还关心这些数据的顺序。比如:

  • 最新的用户排前面;
  • 销售额从高到低展示;
  • 学生成绩按分数排名。

这时候就需要用到 SQL 中非常实用的一个关键字 —— ORDER BY

它可以让我们轻松地对查询结果进行升序或降序排列。


一、 什么是 ORDER BY?

ORDER BY 是 SQL 中用于对查询结果进行排序的关键字。它可以根据一个或多个字段的值,将结果集按照指定的顺序输出。

你可以把它理解为:“把查询结果按我想要的顺序排好”。


 二、基本语法

SELECT column1, column2, ...
FROM table_name
ORDER BY column_name [ASC | DESC];
  • ASC 表示升序(默认);
  • DESC 表示降序。

三、 示例讲解

继续使用上面的 users 表:

idnameagegendercreated_at
1张三202025-01-01
2李四222025-02-01
3王五212025-03-01

 示例1:按年龄从小到大排序(升序)
SELECT * FROM users ORDER BY age ASC;

 结果顺序:张三(20)、王五(21)、李四(22)


 示例2:按年龄从大到小排序(降序)
SELECT * FROM users ORDER BY age DESC;

 结果顺序:李四(22)、王五(21)、张三(20)


 示例3:先按性别排序,再按年龄排序
SELECT * FROM users ORDER BY gender DESC, age ASC;

先按性别降序排序(女在前),同一性别内按年龄升序排序。


 示例4:结合 WHERE 和 ORDER BY
-- 查找年龄大于20的用户,并按创建时间倒序排列
SELECT * FROM users
WHERE age > 20
ORDER BY created_at DESC;

    四、总结对比

    • ORDER BY 必须放在 WHERE 之后。
    • 如果没有指定排序方式,默认是升序(ASC)。
    • 支持对多个字段排序,字段之间用逗号分隔。
    • 在大数据量表中,排序操作可能会影响性能,建议配合索引使用。
    排序方式SQL语句写法效果说明
    单字段升序ORDER BY age ASC年龄从小到大
    单字段降序ORDER BY age DESC年龄从大到小
    多字段排序ORDER BY gender DESC, age ASC先按性别降序,再按年龄升序
    结合筛选排序WHERE age > 20 ORDER BY created_at DESC筛选后按创建时间倒序显示

    如果这篇文章对大家有帮助可以点赞关注,你的支持就是我的动力😊!

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值