我有一个表:date,daily\u count和total\u count,total\u count是空的,必须用mysql计算。日期和每日计数是已知的,我想从每日计数(今天)+总计数(昨天)计算今天的总计数。
我可以用以下公式计算:
SELECT t2.daily_count + t1.total_count total
FROM mytbl t1, mytbl t2
WHERE t1.date = '2020-2-27' AND t2.date = '2020-2-28'
对于一个包含一年以上数据且只有date en daily count的表,如何一次这样做。所以所有的总数都要计算出来。稍后我想在mytbl中将总数更新为total\u count。或者我是否有两条写下一年数据中所有365条不同日期的sql行?
2条答案
按热度按时间bnlyeluc1#
如果您运行的是mysql 8.0,那么您可以通过窗口函数轻松完成这一任务:
你可以把它变成
update
查询如下(假设date
是唯一列):pnwntuvh2#
对于累计总和,您可以执行以下操作:
更新也可以做到这一点。使用
ORDER BY
确保正确的加工顺序。