[英]Mysql Php Average of temperature reads divided by hour
我有一个包含两列的MYSQL DB,一列是温度,另一列是读取温度的时间,例如http://pastebin.mozilla.org/1860064 。 两次读取之间的温度通常相差5分钟,但这并不总是有这个时间间隔。
我需要弄清楚的是一种算法,它可以读取所有值并保存每小时读取的平均值,因此温度将以每小时一个温度,每天24次读取的方式保存在db上,并将其保存在另一个db中表。
例如:
可以节省平均温度和日期2012-10-07 10:00:00,
我说清楚了吗
这是仅通过查询执行此操作的一种方法。 如果需要将结果存储在数据库中,则需要自己插入,但这将为您提供所需的数据。
SELECT AVG(temperature),HOUR(read_time) as read_hour FROM temperature_reads WHERE DATE(read_time) = '2012-10-06' GROUP BY read_hour
您可以将2012-10-06
部分换成您想要的日期。
编辑:在这里它已更新为您的信息:
SELECT AVG(temperatura),HOUR(data) as read_hour FROM leituras WHERE DATE(read_time) = '2012-10-06' GROUP BY read_hour
这应该可以解决问题!
执行此操作的另一种方法是不过滤任何一天,并且不包括分组子句中的整天和整小时:
SELECT AVG(temperature),
DATE_FORMAT(date, '%d/%m/%Y %H') day_hour_read
FROM TABLE
GROUP BY DATE_FORMAT(date, '%d/%m/%Y %H')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.