提示
Hive SQL 教程 欢迎使用。提供建议、纠错、催更等加作者微信: gairuo123(备注:sql )和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
我们通过 ORDER BY 子句排序后如果数据量大需要限制数量,只看部分数据,那么 LIMIT 和 OFFSET 子句就非常用有。LIMIT 可以减少要返回的行数,而 OFFSET 将指定从何处开始计算行数。
本文例子中使用的数据是筛选指定字段中的数据内容。
在 SQL 逻辑的最后加 limit N
(N 是要返回前几个的数量) 可以限制返回数据的数量:
select name, math
from students
order by math desc
limit 3
上边 LIMIT 是对数量的限制是从第一条开始的,比如 limit 3
从第一条开始显示前 3 条。有时需要从一个指定的位置开始计算:
select name, math
from students
order by math desc
limit 3, 4
以上从第 3 条(不含)开始取 4 条。
OFFSET
是设置开始取数的位置,位置从 0 算起,一般可以省略写成上例纯 limit 形式:
-- 取3条,从第 5 个开始
select name from students limit 3 offset 4
-- 取4条,从第 4 个开始
select name from students limit 3, 4
注意它们的区别:
如果跳过的数量大于总数量则返回为空,如果选取的数量不够,则有多少返回多少。
还有一个语句是TOP
可以指定前几个输出结果,但只有像 SQL Server/MS Access 才支持,其他数据库还是用 LIMIT。
SELECT TOP 3 * FROM students;
另外,Oracle 没有 limit 支持 ROWNUM
参数,可以放在条件判断里如 ROWNUM <= 3
限制返回数量。
更新时间:2021-03-10 18:35:32 标签:sql limit offset top