我正在编写一个配置单元查询,其中我需要按几个字段分组,但是除了groupby语句中存在的字段之外,我还需要选择一些其他字段。也就是说,
select A,B,C from table_name GROUP BY A,B
Hive抱怨说 Invalid table alias or column reference C . 它要求我 C 但这改变了我的逻辑。如何解决此问题?
Invalid table alias or column reference C
C
wmomyfyw1#
你可以试着用 cluster by 而不是 group by ```select A,B,C from table_name CLUSTER BY A,B
cluster by
group by
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
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;
3条答案
按热度按时间wmomyfyw1#
你可以试着用
cluster by
而不是group by
```select A,B,C from table_name CLUSTER BY A,B
z9smfwbn2#
你必须在分组后加入。
33qvvth13#
配置单元select语句和GROUPBY子句GROUPBY必须与一些聚合函数(如count、sum等)一起使用。
所以必须有一个对列的聚合计算
C
例子: