选择 2 个日期和平均每小时输出之间的数据 [英] Select data between 2 dates and average hourly output

查看:48
本文介绍了选择 2 个日期和平均每小时输出之间的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一系列温度数据,每分钟收集一次并放入 MySQL 数据库中.我想编写一个查询来选择过去 24 小时的所有温度,然后将它们分组并平均为小时.这可以通过 SQL 命令实现吗?

I am have a series of temperature data which is gathered every minute and put into a MySQL database. I want to write a query to select all temperatures for the last 24 hours then group and average them into hours. Is this possible via a SQL command?

我认为这是选择两个日期/时间之间的所有记录的情况,但这就是我被卡住的地方.

I think its a case of selecting all records between the two date/times, but thats the point I get stuck.

数据示例:

ID    Temp      Timestamp
3922  22        2015-11-17 14:12:23
3923  22        2015-11-17 14:13:23
3924  22.05     2015-11-17 14:14:23
3925  22.05     2015-11-17 14:15:23

需要的输出/结果

Temp   Time
22     2015-11-17 14:00:00
23     2015-11-17 15:00:00
23     2015-11-17 16:00:00
22.05  2015-11-17 17:00:00

我希望你能帮忙,因为我对 SQL 命令完全迷失了.

I hope you can help as I am totally lost with SQL commands.

推荐答案

试试这个查询

SELECT
   AVG(Temp) AS Temp,
   DATE_FORMAT(Timestamp, '%Y-%m-%d %H:00:00') AS Time
FROM Table
WHERE DATE_FORMAT(Timestamp, '%Y-%m-%d %H:00:00') >= DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 DAY), '%Y-%m-%d %H:00:00')
GROUP BY DATE_FORMAT(Timestamp, '%Y-%m-%d %H:00:00')

这篇关于选择 2 个日期和平均每小时输出之间的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆