在我们产品的列表功能中,我们有数据存储列表中显示的ID列表。在我们的一小部分数据(现已修复)中,结果列表中包含的ID以附加方式存储。请参阅下面的屏幕截图,了解我正在尝试沟通的更多信息。
Datetime User Action Extra
5-20-2015 9:00AM A list ids: 1
5-20-2015 9:00AM A list ids: 1, 2
5-20-2015 9:00AM A list ids: 1, 2, 3
5-20-2015 9:01AM B list ids: 5
5-20-2015 9:01AM B list ids: 5, 6
5-20-2015 9:01AM B list ids: 5, 6, 7
是否可以针对此类数据组织编写HIVE或SQL查询?我试图在子查询中查询LENGTH(额外),然后输入MAX(LENGTH(额外))数据,但我们无法使其工作。
使用这些数据的最佳方法是什么,所以我们只提取最终ID列表?
答案 0 :(得分:0)
row_number()
窗口函数可能就是您所追求的(我经常使用它来查询我按日期排序的附加数据源):
select * from
(select *,
row_number() over (partition by user order by length(extra) desc) rn
from yourtable
) a
where rn = 1