How to set range for limit clause in hive,我已经尝试了下面的查询但由于语法错误而失败。有人可以帮忙吗
select * from table limit 1000,2000;
最佳答案
您可以使用Row_Number 窗口函数并设置范围限制。
下面的查询将只返回表中的前 20 条记录
hive> select * from
(
SELECT *,ROW_NUMBER() over (Order by id) as rowid FROM <tab_name>
)t
where rowid > 0 and rowid <=20;
使用Between运算符指定范围
hive> select * from
(
SELECT *,ROW_NUMBER() over (Order by id) as rowid FROM <tab_name>
)t
where rowid between 0 and 20;
从 20 到 40 获取行,然后增加下限/上限值
hive> select * from
(
SELECT *,ROW_NUMBER() over (Order by id) as rowid FROM <tab_name>
)t
where rowid > 20 and rowid <=40;
关于hadoop - 如何在配置单元中设置限制子句的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50119180/