Sql 根据其他列中的不同值计算总和

Sql 根据其他列中的不同值计算总和,sql,amazon-web-services,amazon-redshift,data-analysis,Sql,Amazon Web Services,Amazon Redshift,Data Analysis,我有一个表,我想根据id列中的不同值求和 主表 管道分隔主文件 Id|col1|col2|col3|col4|col5|col6|col7|Dim1|Dim2|Values r1||||1.2||||sc1|c1|1.2 r4||||||0.98||sc1|c1|0.98 r5|||0.89|||||sc1|c1|0.89 r1||||1.2||||sc2|c1|1.2 r2|||||0.98|||sc2|c1|0.98 r3||||1.22||||sc2|c1|1.22 r4|||||0.

我有一个表,我想根据id列中的不同值求和

主表

管道分隔主文件

Id|col1|col2|col3|col4|col5|col6|col7|Dim1|Dim2|Values 
r1||||1.2||||sc1|c1|1.2
r4||||||0.98||sc1|c1|0.98
r5|||0.89|||||sc1|c1|0.89
r1||||1.2||||sc2|c1|1.2
r2|||||0.98|||sc2|c1|0.98
r3||||1.22||||sc2|c1|1.22
r4|||||0.98|||sc2|c1|0.98
输出

管道分离结果

col1|col2|col3|col4|col5|col6|Dim2
0|0|0.89|2.42|1.96|0.98|c1
对于col1-col7列,我要执行以下操作: 选择sum(col1)、sum(col2)、sum(col3)、sum(col4)…sum(col7) 根据id中的不同值按dim2分组


我可以使用row_number()覆盖(按id分区)并使用row_number=1,但不能使用子查询。我希望通过一个查询就可以做到这一点。

红移还是Postgres?这是两种不同的数据库产品。请添加示例数据并以文本格式输出“我想按dim2对id列中的不同值进行求和分组”。我不明白这意味着什么。谢谢@AkhileshMishra,我已以文本格式添加了输出。也谢谢你的回答,但是我想不用子查询就可以了。你不能在一个查询中完成。您必须使用
子查询
公共表表达式
来执行此操作。