2012-12-03 100 views
4

我使用下面的代码,并获得以下错误组采用蜂巢

 select d.searchpack,d.context, d.day,d,txnid,d.config, c.sgtype from ds3resultstats d join  
    context_header c on (d.context=c.contextid) where (d.day>='2012-11-15' and d.day<='2012-11-25' and c.sgtype='Tickler' and d.config like 
'%people%') GROUP BY d.context limit 10; 
     FAILED: Error in semantic analysis: line 1:7 Expression Not In Group By Key d 

错误我猜我使用GROUP BY当您使用group by不当

回答

7

,你无法选择其他额外的领域。您只能选择具有聚合功能的组密钥。

有关更多信息,请参见hive group by

Related questions

代码例如:

select d.context,count(*) 
from ds3resultstats 
... 
group by d.context 

或组由乘法字段。

select d.context, d.field2, count(*) 
from ds3resultstats 
... 
group by d.context, d.field2 
2

预计所有的列将被添加group by。 即使我面临同样的问题,但我设法解决这些问题。 您可以使用带列名称的collect_set以获取输出。例如 select d.searchpack,collect_set(d.context) from sampletable group by d.searchpack;