我有一个要求,我只需要特定列的最新记录。 我想写类似于以下查询的内容:
select * from content_details c where c.created_date = (select max(created_date) from content_details where content_url=c.content_url);
以下查询在Hive中失败,执行此操作的另一种方法是
答案 0 :(得分:0)
使用加入:
select c.*
from content_details c
inner join (select content_url,
max(created_date) max_created_date
from content_details
group by content_url
) s on s.content_url=c.content_url and c.created_date=s.max_created_date
使用Rank()分析函数:
select * from
(
select c.*, rank() over(partition by content_url order by created_date desc) rnk
from content_details c
)s
where rnk=1;