Hive:按计算列分组

时间:2020-12-22 20:48:13

标签: sql group-by hive

我需要像这样执行查询

select 
myUsualField, SOME_FUNCTION(myAnotherField) as myUnusualField 
from MYTABLE
group by 
myUsualField, myUnusualField 

在 Hive 中,此查询失败:在表的其他字段中找不到字段 myUnusualField。

这是否意味着为了按 Hive 中的任何计算列进行分组,我必须使用子查询?

select * from (
    select 
    myUsualField, SOME_FUNCTION(myAnotherField) as myUnusualField 
    from MYTABLE
) sourceTable
    group by 
    myUsualField, myUnusualField 

1 个答案:

答案 0 :(得分:1)

尝试重复表达式:

select myUsualField, SOME_FUNCTION(myAnotherField) as myUnusualField 
from MYTABLE
group by myUsualField, SOME_FUNCTION(myAnotherField) ; 
相关问题