如果数据量大需要限制数量,只看部分数据,那么 LIMIT 和 OFFSET 子句就非常用有。LIMIT 可以减少要返回的行数,而 OFFSET 将指定从何处开始计算行数。
本文例子中使用的数据是筛选指定字段中的数据内容。
1. 数据准备
create table ti(c1 int);
insert into ti values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
2. limit N
只取前 N 条记录
hive> select * from ti limit 3;
OK
ti.c1
1
2
3
Time taken: 0.148 seconds, Fetched: 3 row(s)
3. Limit N, M
跳过 N 行,选取 M 行数据
hive> select * from ti limit 3, 4;
OK
ti.c1
4
5
6
7
Time taken: 0.168 seconds, Fetched: 4 row(s)
4. Limit N offset M
跳过 M 行,选取 N 行记录。
hive> select * from ti limit 3 offset 4;
OK
ti.c1
5
6
7
Time taken: 0.168 seconds, Fetched: 4 row(s)