如何在hive中进行分组

wb1gzix0  于 2021-06-28  发布在  Hive
关注(0)|答案(3)|浏览(344)

我正在编写一个配置单元查询,其中我需要按几个字段分组,但是除了groupby语句中存在的字段之外,我还需要选择一些其他字段。也就是说,

select A,B,C from table_name GROUP BY A,B

Hive抱怨说 Invalid table alias or column reference C . 它要求我 C 但这改变了我的逻辑。如何解决此问题?

wmomyfyw

wmomyfyw1#

你可以试着用 cluster by 而不是 group by ```
select A,B,C from table_name CLUSTER BY A,B

z9smfwbn

z9smfwbn2#

你必须在分组后加入。

select T1.*, t2.c from (select a,b, count(*) as SomeAggFunc from table group by a,b) T1;
<join condition> table t2 on t1.a=t2.a and t1.b=t2.b
33qvvth1

33qvvth13#

配置单元select语句和GROUPBY子句GROUPBY必须与一些聚合函数(如count、sum等)一起使用。
所以必须有一个对列的聚合计算 C 例子:

select A,B,count(C) as Total_C from table_name GROUP BY A,B;
select A,B,SUM(C) as Total_C from table_name GROUP BY A,B;

相关问题