【发布时间】:2012-09-18 11:10:28
【问题描述】:
我的 MYSQL 有一些问题,我需要减去两个特定时间之间的数据,每 5 分钟一次,然后平均 5 分钟的数据。 我现在做的是:
select (avg(columnname)),convert((min(datetime) div 500)*500, datetime) + INTERVAL 5 minute as endOfInterval
from Databasename.Tablename
where datetime BETWEEN '2012-09-12 10:50:00' AND '2012-09-12 14:50:00'
group by datetime div 500;
这是累积平均值。 假设我在 11 点得到 500,在 11.05 得到 700,我需要的平均值是 (700-500)/5 = 40。 但现在我得到 (500+700)/5 = 240。 我不需要累积平均值。 请帮助我。
【问题讨论】:
-
如果你在这个问题中包含测试数据,你将有更好的机会得到一个好的答案。最好使用
create和include语句。 -
顺便说一句:使用
avg,您不会得到(500+700)/5 = 240,而是(500+700)/2 = 600,因为它按计数进行平均,而没有特别注意相关时间。要除以 5,您必须提供 5 行输入,即(…+…+…+…+…)/5。
标签: mysql