MySQL中每个月的每日运行总数

MySQL中每个月的每日运行总数,mysql,sql,mysql-5.7,Mysql,Sql,Mysql 5.7,我有一个包含每日计数数据的表,看起来像这样: Date Count 2019-12-01 100 2019-12-02 200 2019-12-03 300 ... ... 2020-01-01 10 2020-01-02 200 2020-01-03 500 Date Count Running Total 2019-12-01 100 100 20

我有一个包含每日计数数据的表,看起来像这样:

Date         Count
2019-12-01     100
2019-12-02     200
2019-12-03     300
...            ...
2020-01-01      10
2020-01-02     200
2020-01-03     500
Date         Count    Running Total
2019-12-01     100              100
2019-12-02     200              300
2019-12-03     300              600
...            ...
2020-01-01      10               10
2020-01-02     200              210
2020-01-03     500              710
...
我试着计算每个月每天的运行总数。预期结果应如下所示:

Date         Count
2019-12-01     100
2019-12-02     200
2019-12-03     300
...            ...
2020-01-01      10
2020-01-02     200
2020-01-03     500
Date         Count    Running Total
2019-12-01     100              100
2019-12-02     200              300
2019-12-03     300              600
...            ...
2020-01-01      10               10
2020-01-02     200              210
2020-01-03     500              710
...
我设法计算了一个月的运行总数,但是我很难用一个查询得到多个月的运行总数。任何人都知道如何做,或者只使用SQL就可以提供这样做的想法?我正在运行MySQL 5.7

最好的


显然,日期将是您想要检查的任何内容。

您可以使用以下会话变量


dbfiddle

在8分贝范围内更容易计算。考虑升级。我在谷歌云上使用MySQL——版本8是不可用的。 ✓ ✓
SELECT
  `Date`
  , `Count`
  ,running_coint
FROM
(SELECT 
  `Date`
  , `Count`
  , IF(MONTH(@date) =  MONTH(`Date`),@running_coint := @running_coint + `Count`,@running_coint := `Count`) running_coint
,  @date := `Date`
FROM (SELECT * FROM table1 ORDER BY `Date`) t,(SELECT @running_coint := 0) a,(SELECT @date := '1999-01-01') b) t1
ORDER BY`Date`;
Date | Count | running_coint :--------- | ----: | ------------: 2019-12-01 | 100 | 100 2019-12-02 | 200 | 300 2019-12-03 | 300 | 600 2020-01-01 | 10 | 10 2020-01-02 | 200 | 210 2020-01-03 | 500 | 710