更新的答案
OP要求使用单查询方法,这样就不必将用户变量与使用变量来计算运行总额分开设置:
SELECt d.date, @running_sum:=@running_sum + d.count AS running FROM ( SELECt date, COUNT(*) AS `count` FROM table1WHERe date > '2011-09-29' AND applicationid = '123' GROUP BY date ORDER BY date ) d JOIN (SELECt @running_sum := 0 AS dummy) dummy;
用户变量的“内联初始化”对于模拟其他分析功能也很有用。事实上,我从答案知道了这种技术像这样的。
原始答案
您需要引入一个封闭查询,以
@running_sum对COUNT(*)条记录进行制表:
SET @running_sum=0;SELECT d.date, @running_sum:=@running_sum + d.count AS running FROM ( SELECt date, COUNT(*) AS `count` FROM table1WHERe date > '2011-09-29' AND applicationid = '123' GROUP BY date ORDER BY date ) d;
另请参阅此答案。



