我有一个天气数据库,每70秒获取一次数据集(取决于气象站何时提供数据).
我想用Pchart绘图,但我的样本太多,所以X轴搞砸了.
所以我想要大约每5分钟一次的数据.(或每30分钟)
我目前的查询是这样的:
SELECT time, temp_out FROM wmr200 WHERE date(time) = curdate()
Run Code Online (Sandbox Code Playgroud)
这样可以获得过去24小时的样本,但有太多样本.
以下内容将为您提供一个样本,其中包含时间戳为:00,:05,:10的所有数据...
SELECT time, temp_out FROM wmr200 WHERE date(time) = curdate()
AND mod(minute(time),5) = 0
Run Code Online (Sandbox Code Playgroud)
我正在使用模数函数来检查时间的微小部分是否(0或)可被5整除.
如果每个时间段只需要一个结果,我们必须要复杂得多.
SELECT concat(date(time),' ',hour(time),':',round(minute(time)/5,0)*5),
min(temp_out), avg(temp_out), max(temp_out)
FROM wmr200
GROUP BY date(time), hour(time), round(minute(time)/5,0)*5
Run Code Online (Sandbox Code Playgroud)
我现在无法访问MySQL实例来测试它,但这就是我的想法.它按每五分钟分组,按日期,小时和round(minute(time)/5,0)*5- 分组,分钟到最接近的5分钟.
它选择应该分组的时间值,以及min,avg和max temp_out,因为我不确定哪种最适合您的情况.
但是,如果您的数据库没有五分钟伸展的数据(或30分钟伸展,如果这是你正在使用的),它仍然可能没有样本点的数据.
| 归档时间: |
|
| 查看次数: |
10368 次 |
| 最近记录: |