[英]How to calculate the value from the previous date to uptodate
我想计算 previous_date 到 up_to_date 的值。 请参阅下面的示例表。
月 | 参与者 | 总参与者 |
---|---|---|
2021-07 | 6个 | 6个 |
2021-08 | 5个 | 11 |
2021-09 | 20 | 31 |
假设我们在 2021 年 7 月有 6 名参与者并且参与者总数等于 6。然后在 2021 年 8 月我们有 5 名参与者,它将添加上个月(参与者总数)和当前的两个值。 它应该是 11,因为 6 + 5 = 11。然后在 2021 年 9 月我们有 20 个参与者,所以 total_participant(11) + participant(20) = total_participant(31) 的总和
这是“累计金额”。
对于 MySQL 8+ 使用 window function:
SELECT `month`,
participant,
SUM(participant) OVER (ORDER BY `month`) `total participant`
FROM test;
对于 MySQL 5.x,使用 2 个表副本:
SELECT t1.`month`,
t1.participant,
SUM(t2.participant) `total participant`
FROM test t1
JOIN test t2 ON t1.`month` >= t2.`month`
GROUP BY t1.`month`,
t1.participant;
https://dbfiddle.uk/?rdbms=mysql_8.0&rdbms2=mysql_5.7&fiddle=0f0152e44e18a57af8955fd4f7d881e2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.