我需要这篇文章的帮助:
我如何在HIVE中写下以下内容......
SELECT *
FROM tableA
WHERE colA = (SELECT MAX(date_column) FROM tableA)
我只需要查询表中最新的当前记录。我将日期作为字符串存储在hive中作为“yyyy-mm-dd”。
答案 0 :(得分:1)
避免加入,使用分析和窗口功能:
select * from(select *,rank()over(order by date_col desc)作为排名 来自tableA)S,其中S.rank = 1;
答案 1 :(得分:1)
类似的事情可能会起作用:
SELECT a.*
FROM tableA a
JOIN (SELECT MAX(date_column) AS max_date_column
FROM tableA) b
ON a.colA = b.max_date_column
希望有帮助
编辑:我不知道我如何解决这个老问题,您可能很早就解决了这个问题:)
答案 2 :(得分:0)
请注意,在Hive 0.13+中,您可以在WHERE语句中使用子查询。