我有一个名为RawData的mysql表,我将值写入每一分钟。该表如下所示(我将date和time放在单独的列中):
date time value
2015-07-17 15:56:04 33.00
2015-07-17 15:57:09 27.00如果我想要18:00的平均数据,则应该使用18:00到18:09的值来计算平均值。(默认情况下,mysql不会这样做)
我只想用这个查询来计算平均值:
SELECT Date, convert((min(Time) DIV 1000)*1000,time) as Time,Value FROM RawData
Group By Date, Time DIV 1000先谢谢你,大牛
发布于 2015-07-19 06:10:57
假设time采用的是时间格式,那么下面的代码应该可以执行您想要的操作:
select date, maketime(hour(time), 10 * floor(minute(time)/10), 0) as time,
avg(value)
from rawdata
group by date, maketime(hour(time), 10 * floor(minute(time)/10), 0)
order by date, time;https://stackoverflow.com/questions/31494880
复制相似问题