使用分组将具有混合值的多行展平为一行

时间:2014-04-25 17:07:55

标签: group-by azure-sql-database

我试图获取以下数据,这些数据作为行存储在SQL服务器上:

ID  Count   Takings
1   null    4413
1   null    6258
1   null    3809
1   613 null
1   6   null
1   875 null
1   349 null
1   116 null
2   null    6916
2   null    2209
2   null    5255
2   290 null
2   197 null
2   393 null
2   737 null
2   268 null
3   null    9272
3   null    2862
3   698 null
3   393 null

并将结果展平为一行,其中列聚合为

ID  Count   Takings
1   1959    14480
2   1885    1091
3   1091    12134

非常感谢任何帮助。这是在SQL Azure上。所以2012+我猜

非常感谢大家的帮助

韦恩

1 个答案:

答案 0 :(得分:1)

这是group by查询的完美工作:

select
  [ID],
  sum([Count]) as [Count],
  sum([Takings]) as [Takings]
from
  Table1
group by ID

group by根据要分组的列的每个唯一组合将数据组合在一起。因此,对于ID的每个唯一值,我们会汇总sumCount的{​​{1}}。

结果(DEMO):

Takings