我有一个表log
,其中有列id,值,类别和时间戳。假设表充满这样的:在mysql中计算5分钟间隔的平均值
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()的列值生成一个表指定的检查,从最后的检查条目开始。对于检查= 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分钟的平均值?任何帮助是极大的赞赏。
我不知道mysql,但从看看GROUP BY是做什么开始的。 – Pointy 2010-11-01 21:37:43
你能解释一下'check = 1'的功能吗?我没有得到这部分。 – 2010-11-01 21:44:11
check = 1仅表示列值为1的列检查的平均间隔时间为5分钟 – Ivo 2010-11-01 21:51:29