Mysql 计数器增加时的总和记录

Mysql 计数器增加时的总和记录,mysql,Mysql,我正在显示一些记录,当计数器为特定记录组增加时,我需要对这些记录求和成本以获得SumCost。我将给出一个简单的SQL代码。谢谢你的帮助 Group| Items | Cost | SumCost| Counter ----------------------------------------- Cars | Opel | 50 | 50 | 1 Cars | Toyota| 60 | 110 | 2 Cars | KIA | 40 | 150

我正在显示一些记录,当计数器为特定记录组增加时,我需要对这些记录求和成本以获得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....


我想要的是,例如,当组(Cars)显示其记录时,它应该合计每个car项目的成本,并在SumCost列中显示为sum/total。所以欧宝的总成本是50,丰田的总成本是(欧宝和丰田的成本,即50+60=110),起亚的总成本是(欧宝成本+丰田成本+起亚成本=>50+60+40=150)等等

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

不带计数器,通过分组更改

我回顾了你的另一篇文章,发现它的答案非常有用
这里,求和计算的解决方案相同:

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

期望的结果是什么?那么到目前为止,您为实现这一目标做了哪些工作?或者你希望人们只是从零开始为你编写代码吗?对于你所描述的内容,没有一个很好的纯SQL解决方案。@JakeGould:一个问题只能通过把它分解成碎片来解决。我从某个地方开始,我得到了一个我想要实现的想法。如果我在这个页面上显示整个问题的语法,人们将很难理解并提供解决方案,因为它的含义不清楚。@祝你好运,有人帮你做你的工作。请问,有没有其他方法代替使用sql变量?如果由于mysql在将代码转换为表视图时出错,字段/coulmns可以被操纵。我试图通过将变量从我的表中更改为列/字段来遵循您的语法。我不知道。。。可能是,但我不能在飞行中…真的,哇…更多帮助请你应该保存行之间的状态。。。总金额。。。重置总和。。。还有什么?@Akeown,我加了另一把小提琴,没有计数器,有组域。。。也许它更有用。。。