在MySQL中计算5分钟间隔的平均值 [英] calculate averages for 5 min intervals in mysql

查看:47
本文介绍了在MySQL中计算5分钟间隔的平均值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表log,其中包含id、Value、Category和Timestamp列。假设表格按如下方式填写:

ID   VALUE        CATEGORY   TIMESTAMP
-----------------------------------------------
1     10             1       2010-11-1 10:00:00
2     20             1       2010-11-1 10:03:00
3     15             2       2010-11-1 10:15:00
4     05             2       2010-11-1 10:19:00
5     30             1       2010-11-1 10:24:00
6     12             1       2010-11-1 10:30:00
现在,我想为指定的检查生成一个表,从最后一个检查条目开始,每隔5分钟为列值生成一个avg()。Check=1的输出应如下所示:

ID AVERAGE
----------
1  12
2  30
3  15

check=2的输出应为:

ID AVERAGE
----------
1  10

处理这一问题的最佳方法是什么?我对MySQL有基本的了解,但这让我感到困惑。我认为查询的一部分如下所示(不包括5分钟间隔分组):

SELECT avg(value) FROM log WHERE check = ..
如何使用时间戳生成5分钟间隔平均值?我们非常感谢您的帮助。

推荐答案

请参阅this

select AVG(value),  from_unixtime(ROUND(timestamp / (60*5)) * 60 * 5) as rounded_time
from table
group by rounded_time

这篇关于在MySQL中计算5分钟间隔的平均值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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