社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

MYSQL:根据日期/小时将值从一个表传输到另一个表

Frechdachs • 5 年前 • 1551 次点击  

我有以下MYSQL表:

输入表“input”的一部分:

Input Table

输出表“Output”的一部分:

Output table

日期/时间列都是预先给定的,不能更改。它们是我要用于执行以下操作的MYSQL代码的基础: 我想对输入表的“total”列中的所有值求和 同日同时 并将它们放入输出表的“total”列,其中“time”列具有 同日同时 如输入表所示。

只有MYSQL才能做到这一点吗? 或者我也需要PHP? 输入表有大约40万个值。

我从:

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

但我不知道该怎么继续。

任何帮助都将不胜感激。提前谢谢:)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50199
 
1551 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Sowmya Shankark
Reply   •   1 楼
Sowmya Shankark    5 年前
 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;
forpas
Reply   •   2 楼
forpas    5 年前

获取输入表中的和并在 UPDATE 声明:

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