我试图在一个查询中获得累积总和。它在 SQL、PRESTO 等中运行良好,但在 HIVE 中却不行,这会引发错误消息。
create table test(store varchar(10), item int, quantity int)
insert into test
select 'depot',101,1
union select 'depot',101,2
union select 'depot',101,5
union select 'depot',102,1
union select 'depot',102,3
店铺 | 物品 | 收入 |
---|---|---|
仓库 | 101 | 1 |
仓库 | 101 | 2 |
仓库 | 101 | 5 |
仓库 | 102 | 1 |
仓库 | 102 | 3 |
select store, item,
sum(sum(revenue)) over (partition by store order by item)
from test
group by store, item
预期输出:
店铺 | 物品 | 数量 |
---|---|---|
仓库 | 101 | 8 |
仓库 | 102 | 12 |
错误 :
[代码:40000,SQL 状态:42000] 编译语句时出错:失败:SemanticException 无法将窗口调用分解为组。至少 1 个组必须仅依赖于输入列。还要检查循环依赖。潜在错误:org.apache.hadoop.hive.ql.parse.SemanticException: Line 1:24 Expression not in GROUP BY key 'revenue'
有什么建议么 ?