Snowflake cloud data platform 在不同列上使用GROUPBY和Over子句
我有一张这样的桌子Snowflake cloud data platform 在不同列上使用GROUPBY和Over子句,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,我有一张这样的桌子 col 1|col 2|col 3 a | 2 | 10 b | -1 | 10 a | 10 | 10 目标是将输出作为目标 col 1| col 2| col 3 a | 12 | 30 b | -1 |30 我尝试了以下查询 select col 1, sum(col 2), sum(col 3) OVER() From table t1 group by col 1 但是我犯了错误;列3不是有效的group b
col 1|col 2|col 3
a | 2 | 10
b | -1 | 10
a | 10 | 10
目标是将输出作为目标
col 1| col 2| col 3
a | 12 | 30
b | -1 |30
我尝试了以下查询
select col 1,
sum(col 2),
sum(col 3) OVER()
From table t1
group by col 1
但是我犯了错误;列3不是有效的group by表达式。
请建议另一种解决方案。提前谢谢。您可以尝试在整个表中计算SUMcol3的总和:
SELECT
col1,
SUM(col2),
SUM(SUM(col3)) OVER()
FROM table t1
GROUP BY col1;
如果要将SUM用作窗口函数,则需要对GROUP BY求值后可用的内容求和。SUMcol3可用,而col3不可用。感谢您的帮助。它工作得很好。但是这个解决方案增加了列3的重复值。如果我们想选择col 3see edits的distinct值,那么将其作为col 3中20的输出是一种方法。请查看问题中的编辑。