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

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

4

2 回答 2

7

使用时group by,不能选择其他附加字段。您只能选择具有聚合功能的组键。

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

相关问题

代码示例:

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

或按乘法字段分组。

select d.context, d.field2, count(*)
from ds3resultstats
...
group by d.context, d.field2
于 2012-12-03T06:52:41.717 回答
2

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

于 2015-10-29T12:07:29.990 回答