【发布时间】:2018-04-26 14:46:03
【问题描述】:
我有下表:
+-------------+-------+-------+
| date | agent | hold |
+-------------+-------+-------+
| 2017-01-01 | A | 100 |
| 2017-01-01 | B | 200 |
| 2017-01-02 | C | 400 |
+-------------+-------+-------+
我的查询要添加运行总计:
SET @runtot:=0;
SELECT
date,
SUM(CASE WHEN agent = 'A' THEN hold ELSE 0 END) AS A,
SUM(CASE WHEN agent = 'B' THEN hold ELSE 0 END) AS B,
SUM(CASE WHEN agent = 'C' THEN hold ELSE 0 END) AS C,
SUM(CASE WHEN agent = 'D' THEN hold ELSE 0 END) AS D,
sum(hold) as Total,
(@runtot := @runtot + sum(hold)) AS rt
FROM daily_results
group by date
但我在 rt 列中得到每行的总和(保持)。我做错了什么?
【问题讨论】:
-
在 sqlfiddle.com 上提供表结构和示例数据。同时根据该示例数据添加预期结果。
-
你在做什么?好像你需要
WITH ROLLUP -
我已经添加了表结构和结果
-
您有 3 行。这里肯定没有什么可以总结的。
标签: mysql sql cumulative-sum