1

我需要对被某些其他变量破坏的变量求和。我通常会用这个group by函数来做这个。

但是在这种情况下,我不想汇总数据。我想用某种聚合的方式保留原始数据sum

-ID-- --amount--
  1        23
  1        11
  1        8
  1        7
  2        10
  2        20
  2        15
  2        10

结果

-ID-- --amount-----SUM
  1        23      49
  1        11      49
  1        8       49
  1        7       49
  2        10      55
  2        20      55
  2        15      55
  2        10      55
4

1 回答 1

5

您可以使用子查询来获取每个总数id并将其连接回您的表:

select t.id, 
  t.amount, 
  t1.total
from yt t
inner join 
(
  select id, sum(amount) total
  from yt
  group by id
) t1
  on t.id = t1.id;

请参阅带有演示的 SQL Fiddle

于 2013-05-30T22:09:36.873 回答