【问题标题】:MySQL phpMyAdmin average value counting event for current datetime当前日期时间的 MySQL phpMyAdmin 平均值计数事件
【发布时间】:2018-02-19 11:40:09
【问题描述】:

我有这样一个关于MySQL的查询,我不是很熟悉,但是我必须解决一个问题。我有两个表,即 stats 我从气象站和 avg_temp 表中放置我的数据(温度、湿度),我总是需要保存给定日期在 stats 中获得的值的平均值。所以我需要在 phpMyAdmin 中以每天 23:55 开始的方式创建一个事件,并计算当天的温度和湿度的平均值并将其插入到 avg_temp 表中。

我的表格有一些基本结构:

avg_temp 表:

统计表:

可能是这样的,但它对我不起作用,但我希望你能明白我需要从中完成什么。

SELECT `timestamp`,AVG(`humidity`) as avgHumid
FROM stats
GROUP BY `timestamp`
SELECT `timestamp`,AVG(`temperature_C`) as avgTemp
FROM stats
GROUP BY `timestamp`
INSERT INTO avg_temp (avg_temp, avg_humid) values('$avgTemp', '$avgHumid')

【问题讨论】:

    标签: mysql database phpmyadmin mysql-error-1064 weather


    【解决方案1】:

    这是我找到的解决方案,它简单地解决了我遇到的问题......

    SET @avgTemp = (SELECT AVG(temperature_C) AS avgTemp FROM (SELECT temperature_C FROM stats ORDER BY timestamp DESC LIMIT 144) a); 
    SET @avgHumid = (SELECT AVG(humidity) AS avgHumid FROM (SELECT humidity FROM stats ORDER BY timestamp DESC LIMIT 144) a); 
    SET @oldID = (SELECT MAX(id) FROM avg_temp ORDER BY timestamp);
    SET @newID = @oldID + 1;
    INSERT INTO avg_temp (id, avg_temp, avg_humid) values(@newID, @avgTemp, @avgHumid);
    

    【讨论】:

      猜你喜欢
      • 2014-11-06
      • 1970-01-01
      • 2018-10-25
      • 2010-10-30
      • 1970-01-01
      • 2020-11-17
      • 1970-01-01
      • 2019-07-12
      • 1970-01-01
      相关资源
      最近更新 更多