MySQL组由TimeStamp提供

  发布于 2023-02-02 19:37

我正在编写一个Python代码,我需要使用MySQLdb从MySQL数据库中检索数据.原始数据库的一部分如下所示:

我用过这个命令

SELECT TimeStamp,Pac 
FROM SolarData 
WHERE DATE(`TimeStamp`) = CURDATE() 
GROUP BY HOUR(TimeStamp);

按小时对数据进行分组,但结果不符合我的预期:

每小时显示的Pac号与每小时的第一条记录的号码相同.这不是整个小时的累积数.我需要的是整个小时的累计数.

1 个回答
  • 那是因为当你不使用GROUP BYANSI标准时,MySQL就像你的酒鬼叔叔.你可能想要:

    SELECT HOUR(TimeStamp) AS Hour, 
        SUM(Pac) AS Pac
    FROM SolarData 
    WHERE `TimeStamp` >= CURDATE() 
      AND `TimeStamp` < CURDATE() + INTERVAL 1 DAY
    GROUP BY HOUR(TimeStamp);
    

    看到您想要的结果会很有帮助.在此之前,上述查询只是基于按小时对数据进行分组的猜测.为了将来参考,请使用SQL Fiddle发布表结构/数据.

    2023-02-02 19:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有