我在HIVE中創建表。 它具有以下欄目: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後,它可以工作。但是,它沒有做我想要的。我想每月平均(排名)。現在它不是平均水平。它只顯示自a.date_saved添加組以來的所有記錄。 – chnet 2011-04-21 17:38:51
@chnet:您不能選擇一列,也不能按該列進行分組。如果你想顯示'a.date_saved',你需要按它分組。您可能會顯示'year(a.date_saved)'和'month(a.date_saved)',因爲它們位於「Group by」中,但不是100%。 – Nija 2011-04-21 17:44:36
謝謝。我可以顯示年份(a.date_saved)和月份(a.date_saved)。 – chnet 2011-04-21 17:52:18