我想计算Hive中的列平均值,并从每行中扣除它,如下所示:
select *,(column1 - avg(column2)) from table
这可以通过单个查询来完成吗?
感谢,
答案 0 :(得分:1)
可以使用Hive 0.12中提供的SQL分析,数据窗口是完整的表格
select *, column1 - (avg(column2) over ()) from table
否则,您可以计算子查询中的avg(column2)并加入
select *, column1 - avg_col2
from table t
full join (
select avg(column2) as avg_col2
from table
) a