我正在尝试组合一个查询,该查询按日期将记录与该特定日期的总计(一天中可能有多个条目)进行分组,但是我还需要一个运行总计,打算将MySQL变量用于。我的问题是,累计总数列似乎仅包含该日期的SUM()。
因此,这对于每天的总计工作正常
foo[bar, np.arange(3)][0, 1] = foo[ bar[0,1], Y[0,1] ]
= foo[2, 1]
= 50
添加我认为在那里的相当简单的变量以跟踪运行总计
SELECT
YEAR(log_at) as year,
MONTH(log_at) as month,
DAY(log_at) as day,
SUM(ev) as dailyTotal,
count(*) as count
FROM tracks
WHERE user_id = 1
GROUP BY year, month, day
ORDER BY year, month, day ASC
累计变量仅包含当天的总数。但是,如果我将其更改为增加1而不是SUM(),它似乎可以正常工作
对于实现所需行为的任何建议,我们将不胜感激!
答案 0 :(得分:1)
您必须首先创建整个选择,然后才进行累积填充,因为您不能同时添加GROUP BY的一列总和(我真的不知道为什么会生面团)>
SELECT
`year`,
`month`,
`day`,
`dailyTotal`,
@cum := @cum + `dailyTotal` as `cumulative`,
`count`
FROM
(
SELECT
YEAR(log_at) as year,
MONTH(log_at) as month,
DAY(log_at) as day,
SUM(ev) as dailyTotal,
count(*) as count
FROM tracks
WHERE user_id = 1
GROUP BY year, month, day
ORDER BY year, month, day ASC
) a
JOIN (SELECT @cum := 0) b
我用少一些的表格测试了它……也许我在这里弄错了。但我希望你能理解。