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、他の追加フィールドを選択することはできません。集計関数でのみグループキーを選択できます。

詳細については、ハイブグループ化を参照してください。

関連する質問

コード例:

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

またはmultiplyフィールドでグループ化します。

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 に答える