MYSQL:根据date/hour将值从一个table转移到另一个

MYSQL: Transfer values from one table to another based on date/hour

我有以下 MYSQL tables:

部分输入table'input':

和部分输出 Table 'output':

date/time 两列都是预先给定的,无法更改。它们是我想用来执行以下操作的 MYSQL 代码的基础: 我想对 同一日期和同一时间 输入 table 的 'total' 列的所有值求和,并将它们放入 'total' 列输出 table,其中 'time' 列与输入 table.

具有 相同的日期和相同的时间

只有 MYSQL 才有可能吗? 或者我也需要 PHP 吗? 输入 table 有大约 400,000 个值。

我开始于:

SELECT SUM(total) FROM input
WHERE date BETWEEN '2019-06-06 00:00:00' AND '2019-06-06 23:59:59'

但是我不知道如何继续。

如有任何帮助,我们将不胜感激。提前致谢:)

获取输入 table 中的总和并加入 UPDATE 语句中的输出 table:

update output o 
inner join (
  select date_format(date, '%Y%m%d%H') hour, sum(total) total
  from input
  group by date_format(date, '%Y%m%d%H')
) i on i.hour = date_format(o.date, '%Y%m%d%H')
set o.total = i.total
 UPDATE outputtable,
       (SELECT Sum(total)  SUM,
                Year(date)  year,
                Month(date) month,
                Day(date)   day,
                Hour(date)  hour
         FROM   inputtable
         GROUP  BY Year(date),
                   Month(date),
                   Day(date),
                   Hour(date)) InputT SET    total = InputT.sum WHERE  Year(outputtable.date) = InputT.year
        AND Month(outputtable.date) = InputT.month
        AND Day(outputtable.date) = InputT.day
        AND Hour(outputtable.date) = InputT.hour;