hive的group by语句和SQL的group by语句不同。
hive的group by语句要把select中的字段都写在group by语句中,
如果有的字段不能出现在group by语句中,则需要在不写的字段上加上函数collect_set(字段)[0]
select a.lens_id, avg(a.rank), collect_set(a.date_saved)[0]
from lensrank_archive a
group by a.lens_id, year(a.date_saved), month(a.date_saved);
hive的group>http://stackoverflow.com/questions/5746687/hive-expression-not-in-group-by-key
hive的in和not>http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2842855.html