计数器增加时的总和记录

时间:2014-04-06 15:54:26

标签: mysql

我正在显示一些记录,我需要总结成本以获得SumCost,因为特定记录组的计数器增加。我将展示一个简单的SQL代码。谢谢,例如。

Group| Items | Cost   | SumCost| Counter
-----------------------------------------
Cars | Opel  | 50     | 50     | 1
Cars | Toyota| 60     | 110    | 2
Cars | KIA   | 40     | 150    | 3
Laps | Acer  | 30     | 30     | 1
Laps | Hp    | 45     | 75     | 2
Laps | Compaq| 20     | 95     | 3 and so on....


我想要的是,例如,当集团(汽车)正在显示其记录时,它应该将每个汽车项目的成本相加并在SumCost列中将其显示为总和/总计。所以欧宝的SumCost是50,丰田的SumCost是(欧宝和丰田的成本,即50 + 60 = 110)和KIA的成本(欧宝成本+丰田成本+起亚成本=> 50 + 60 + 40 = 150 )等等

1 个答案:

答案 0 :(得分:1)

以下是您的要求,确切地说:

SELECT 
IF(t.counter=1, @sum:=0,null) _,
@sum:=@sum+t.cost sum, 
t.*
FROM A t;

SQLFiddle

SQLFiddle没有计数器,按组更改

我会审核您的另一个question并找到非常有用的答案 这里计算总和的方法相同:

SELECT *, 
  (SELECT SUM(cost) FROM sometbl counter 
   WHERE t.groups = counter.groups AND t.id >= counter.id) AS cost_sum
FROM sometbl t

Fiddle