SQL SUM函数没有分组数据

时间:2013-05-30 22:05:03

标签: mysql sql aggregate-functions

我需要对由某些其他变量打破的变量求和。我通常会使用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

1 个答案:

答案 0 :(得分: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 with Demo