对MySQL上的每日数据求和,并在数据更改时重置计数器

对MySQL上的每日数据求和,并在数据更改时重置计数器,mysql,Mysql,我有一个MySLQ数据库,其中包含以下结构的天气数据: DATA TEMP UM RAIN 2017-05-16 10:00 13.2 80 0.0 2017-05-16 10:05 13.1 81 0.1 .... 2017-05-16 23:55 2.1 90 0.5 2017-05-17 00:00 2.1 91 0.0 2017-05-17 00:05 2.1 91 0.5

我有一个MySLQ数据库,其中包含以下结构的天气数据:

DATA                TEMP    UM  RAIN
2017-05-16 10:00    13.2    80  0.0
2017-05-16 10:05    13.1    81  0.1
....
2017-05-16 23:55    2.1     90  0.5
2017-05-17 00:00    2.1     91  0.0
2017-05-17 00:05    2.1     91  0.5
我需要用逐日累积降雨量填充另一列,如下所示:

DATA                TEMP    UM  RAIN    TOT_RAIN
2017-05-16 10:00    13.2    80  0.0     2.2 
2017-05-16 10:05    13.1    81  0.1     2.3
....
2017-05-16 23:55    2.1     90  0.5     12.3
2017-05-17 00:00    2.1     91  0.0     0.0
2017-05-17 00:05    2.1     91  0.5     0.5
我尝试了这个查询,结果是:

UPDATE `alldata` t1
INNER JOIN
(
   SELECT DateTime,@r := IF(TIME(DateTime) >= '00:00:00' AND < '00:05:00', R_OLD, R_OLD + @r) R
    FROM `alldata`
    CROSS JOIN (SELECT @r := 0.0) AS R
    ORDER BY DateTime
) t2 ON t1.DateTime = t2.DateTime
SET t1.R = t2.R
但当新日期的timedate不等于00:00时,这可能是00:01,因为01:05或03:00查询失败,并且计数器不会重置为零。 我需要当天的最后一个数据包含每天的总降雨量,新的一天的第一个数据等于零。
有什么帮助吗?

我不会将其写入表数据,而是使用聚合创建一个视图。我需要这种数据格式,因为我必须使用的web模板需要这种格式…:当然可以,但是你真的需要它做一张桌子吗?如果您的web模板查询表或视图,它应该是透明的,除非您根本无法将查询更改为指向视图。是。。。我无法更改查询。。。我需要复制Exactly DB结构,即使我的数据是以不同的方式复制的。视图可以复制底层表结构,再加上所需的计算列。它只会替换alldata中的SELECT*。。。通过从v_alldata中选择*。。。在模板中。