我有一张桌子叫temp_reading。它有以下列(消费是索引键):

id consumption total
1  100
1  200
1  300
1  400
2  50
2  100
3  200
4  250

现在我想把total显示为
id   consumption  total
1    100          100
1    200          300
1    300          600
1    300          900
2    50           50
2    100          150
3    200          200
4    250          250

可以像上面那样显示吗?
我尝试了以下查询:
SELECT id,consumption,sum(consumption) as total
FROM temp_reading
GROUP BY consumption;

请帮我解决这个问题。

最佳答案

试试这个:

SELECT id, consumption, IF(@s=@s:=id, @s2:=@s2+consumption, @s2:=consumption) AS total
FROM temp_reading, (SELECT @s:=0, @s2:=0);

关于mysql - 如何在MySQL中执行行的SUM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13578640/

10-10 03:21