美文网首页
大数据之hive04-HIVE SQL中怎么取最后一条记录

大数据之hive04-HIVE SQL中怎么取最后一条记录

作者: 数据蝉 | 来源:发表于2020-04-15 09:47 被阅读0次

需求

HIVE中怎么取最后一条记录?

解决方案

使用函数:row_number() over([partition_by_clause] order_by_clause)

原始数据

图片.png

按时间排序

select id,
       start_time,
       end_time,
       row_number() over(order by start_time desc) as rank
from call_record

输出:


图片.png

以ID分组按时间排序

select id,
       start_time,
       end_time,
       row_number() over(partition by id order by start_time desc) as rank
from call_record

输出:


图片.png

以ID分组按时间排序取最后一条记录

select* 
from(
   select id,
          start_time,
          end_time,
          row_number() over(partition by id order by start_time desc) as rank
   from call_record
    )a
where a.rank=1

输出


图片.png

如果要取第一条记录 desc改为asc

相关文章

网友评论

      本文标题:大数据之hive04-HIVE SQL中怎么取最后一条记录

      本文链接:https://www.haomeiwen.com/subject/dleqvhtx.html