【发布时间】:2015-01-22 03:15:30
【问题描述】:
在表上编写 hive 查询以选择列中具有最大值的行 例如有以下数据的表:
key value updated_at
1 "a" 1
1 "b" 2
1 "c" 3
需要选择最后更新的行。 目前使用以下逻辑
select tab1.* from table_name tab1
join select tab2.key , max(tab2.updated_at) as max_updated from table_name tab2
on tab1.key=tab2.key and tab1.updated_at = tab2.max_updated;
还有其他更好的方法吗?
【问题讨论】:
-
updated_at的值在该表中是否唯一? -
另外,您使用的是哪个版本的 Hive?您发布的查询对我来说似乎不是有效的 HiveQL。