提示
Hive SQL 教程 欢迎使用。提供建议、纠错、催更等加作者微信: gairuo123(备注:sql )和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
在真实的大数据场景下,数据量往往非常庞大,我们要找到自己想要的特定内容就需要对结果进行排序。SQL提供了 ORDER BY 子句按给定列按升序或降序对结果进行排序的方法。本文介绍标准 SQL 的排序语句 ORDER BY。
本文例子中使用的数据是筛选指定字段中的数据内容。
Order by 是非常通用的,所有的 SQL 都支持。基本语法为:
SELECT column, another_column
FROM mytable
WHERE condition(s)
ORDER BY column ASC/DESC
说明:
升降序:
在用 ORDER BY 按一定的字段排序时,如果你不想写字段名,可以用 Select 中的序号来代码这些字段,如:
SELECT item_id, uesr_id
^^^^ ^^^^
1 2
FROM tab
ORDER BY 1;
在上面的查询中 ORDER BY 1 指的是 select 语句中的第一列,那就是 item_id。这个用法,还可以用在 GROUP BY 子句中。
注意:ORDER BY 和GROUP BY 中的数字始终以 1 开头,而不是以 0 开头。
基本使用:
-- 按出生早到晚排序
select name, b_year
from students
where class = 2
order by b_year
-- 数学成绩从高到低
select name, math
from students
where class = 2
order by math desc
多重排序:
-- 先按班级序号排序,同一班级成绩从高到低
select name, class, math
from students
where math > 60
order by class, math desc
-- 先出生晚的在前,同一年生的成绩高的在前
select name, b_year, math
from students
where math > 60
order by b_year desc, math desc
更新时间:2021-08-19 20:43:34 标签:sql 排序