hive教程:分页

说明

Hive的 limit 只支持 TopN 功能,不能像 Hive、MySQL 那样传2个参数,实现分页

分页

通过 开窗 row_number() 函数实现

with 语句

语法

with tbl as (
    select *,row_number() over (order by 主键, 排序字段 asc) as rownum from 表名
)
select * from tbl where 开始行数 <= rownum and rownum <= 结束行数

例子

with tbl as (
    select *,row_number() over (order by empno, empno asc) as rownum from emp
)
select * from tbl where 1 <= rownum and rownum <= 5

子语句

语法

select * from
(
    select *,row_number() over (order by 主键, 排序字段 asc) as rownum from 表名
) temp
where 开始行数 <= rownum and rownum <= 结束行数

例子

select * from
(
    select *,row_number() over (order by empno, empno asc) as rownum from emp
) temp
where 1 <= rownum and rownum <= 5

参考:
http://www.manongjc.com/detail/16-ooknoousqyugicc.html


原文出处:/show_1IX4Rqrn4uHW.html