Hive 要按部门分组,请为配置单元中的整个表获取sum(sales)并使用sum(sales)创建单独的列?
我有一张这样的桌子Hive 要按部门分组,请为配置单元中的整个表获取sum(sales)并使用sum(sales)创建单独的列?,hive,Hive,我有一张这样的桌子 Department Sales A 2000 A 2000 A 3000 B 1000 B 4000 B 2000 C 2500 C 2000 C 2000 不,我希望我的输出像 Department
Department Sales
A 2000
A 2000
A 3000
B 1000
B 4000
B 2000
C 2500
C 2000
C 2000
不,我希望我的输出像
Department Sales Total_Sales
A 7000 20500
B 7000 20500
C 6500 20500
如何使用配置单元、窗口功能实现这一点?它可以是
SELECT DISTINCT
Department,
SUM(Sales) OVER (PARTITION BY Department) Sales,
SUM(Sales) OVER () Total_Sales
FROM source_table
但是
可能更有用(总销售额将在附加行中计算,
部门为NULL
)。您是否阅读了文档:?
SELECT Department,
SUM(Sales) Sales,
FROM source_table
GROUP BY Department WITH ROLLUP
select *,sum(sales) over() as Total_Sales
from(select department,sum(sales) as sales from orders group by department)t1;