如何获取hive中的第二个最后一个分区(HQL)

时间:2016-07-21 18:32:53

标签: sql hadoop hive apache-pig

我有一个带有以下分区的蜂巢表:

create

part_date='07-12-2016'

part_date='04-12-2016'

现在我如何获得第一个分区,该分区小于hive查询中的最新分区。假设分区值是数据被提取到表中的日期。 在这种情况下,它应该是part_date = '04 -12-2016'。

所以查询应该是:

part_date='01-12-2016'

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以使用row_number窗口功能获取第二行。

select part_date
from (select part_date,row_number() over(order by part_date desc) as rn 
      from table_A) t
where rn = 2

我认为part_date列是不同的。如果没有,您应该使用dense_rank功能。