如何使用 Hive 读取前 N 条记录


select row_number() over() as rownum1,* from emp where rownum1 in 
(select row_number() over() as rownum from emp<= select count(*)/2 from emp);

我想使用 HQL 从 Hive 表中读取前 N 条记录

要获得前 5 条记录,请使用带有 limit 关键字的格式:

select *
from
(
 select row_number() over() as rownum1,* from emp where rownum1 in 
(select row_number() over() as rownum from emp<= select count(*)/2 from emp)
)
order by rownum1 limit 5

或限制使用 <

select *
from
(
 select row_number() over() as rownum1,* from emp where rownum1 in 
(select row_number() over() as rownum from emp<= select count(*)/2 from emp)
)
where rownum1 <= 5
order by rownum1

最新更新