我有一张像这样的表,
Datatime Values
2014-10-13 18:50:00 2
2014-10-13 18:51:00 4
2014-10-13 18:52:00 64
2014-10-13 18:53:00 123
2014-10-13 18:54:00 12312
(这只是数据库的一部分,它有1000多列,所以我只得到它的一小部分)
我想要做的是以15分钟的间隔获得列“值”的平均值
答案 0 :(得分:1)
如果我理解您的要求,以下说明将解决您的问题:
SELECT AVG(Values) FROM YourTableName where Datatime = "2014-10-13 18:51:00";
希望这会有所帮助。
答案 1 :(得分:0)
我认为您只想将时间转换为最近的15分钟间隔,然后使用group by
:
SELECT SEC_TO_TIME( (TIME_TO_SEC(datetime) DIV 900) * 900) AS Nearest15,
avg(values)
FROM table
GROUP BY SEC_TO_TIME( (TIME_TO_SEC(datetime) DIV 900) * 900)
ORDER BY Nearest15;