MySQL:选择查询,5 分钟增量

标签 mysql sql pchart

我有一个天气数据库,大约每 70 秒获取一次数据集(取决于气象站何时提供数据)。
我想用 Pchart 绘制它,但我有太多样本,所以 X 轴搞砸了。
所以我想要大约每 5 分钟的数据。 (或每 30 分钟)
我目前的查询是这样的:

SELECT time, temp_out FROM wmr200 WHERE date(time) = curdate()

这会获取过去 24 小时的样本,但样本太多了。

最佳答案

以下将为您提供一个样本,其中包含时间戳为 :00、:05、:10 ... 的任何数据

SELECT time, temp_out FROM wmr200 WHERE date(time) = curdate()
    AND mod(minute(time),5) = 0

我正在使用取模函数来检查时间的分钟部分是否可以(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

我现在无法访问 MySQL 实例来对其进行测试,但这是我的想法。它每五分钟分组一次,按日期、小时和 round(minute(time)/5,0)*5 - 将分钟四舍五入到最接近的 5。

它选择应该围绕其分组的时间值,以及最小、平均和最大 temp_out,因为我不确定其中哪一个最适合您的情况。

但是,如果您的数据库没有五分钟的数据(或 30 分钟的时间,如果您正在使用的话),它仍然可能没有样本点的数据。

关于MySQL:选择查询,5 分钟增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10403039/

相关文章:

sql - 在 SQL Server 中排序递归结果集

mysql - 将存储为行的名称值对转换为列

php - Pchart - 错误轴上的折线图

pchart - 如何使用 pChart 指定自定义 y 轴刻度间隔

mysql - 确定 MySQL 中的默认数据库字符集和排序规则

php - 更改 php.ini 中的 max_upload_filesize 但在 phpMyAdmin 中保持不变

mysql - 按 id 获取最近组的总和

php - 如何将 3 个文件合并到一张表中?

mysql - SQL PHP 获取最后一个 ID

php - PChart线性图表图像质量