使用配置单元在组中出错

时间:2012-12-03 04:33:19

标签: hive

我使用以下代码并获得以下错误

      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

我猜我正在错误地使用该组

2 个答案:

答案 0 :(得分:7)

使用group by时,您无法选择其他附加字段。您只能选择具有聚合函数的组密钥。

有关详细信息,请参阅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

答案 1 :(得分:2)

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