我在HIVE中创建了一个表。
它有以下列:
id bigint, rank bigint, date string
我想要获取每月的平均排名。我可以使用这个命令。它有效。
select a.lens_id, avg(a.rank)
from tableA a
group by a.lens_id, year(a.date_saved), month(a.date_saved);
然而,我还想获取日期信息。 我使用这个命令:
select a.lens_id, avg(a.rank), a.date_saved
from lensrank_archive a
group by a.lens_id, year(a.date_saved), month(a.date_saved);
提示错误: Expression Not In Group By Key
a.date_saved
,那么你需要以它为分组依据,不能只选择该列而不进行分组。可能可以显示year(a.date_saved)
和month(a.date_saved)
,因为它们在“Group by”中,但不能保证100%能够实现。 - QuinnG