我正在尝试从 MySQL 表中选择按给定间隔分组的时间范围内的值。我的实际代码如下所示:
SET @dateformat = '%Y-%m-%d %H:%i:%s';
SET @start = '2014-05-07 17:44:15';
SET @stop = '2014-10-27 15:46:58';
SET @interval = 3600;
SELECT
t1.id,
t1.timestamp,
REPLACE(AVG(t1.A_1), '.', ',') AS avg_val1
FROM eco_547702f977d27 AS t1 WHERE timestamp > @start AND timestamp <= @stop GROUP BY UNIX_TIMESTAMP(timestamp) DIV @interval;
这可行,但按完整时间(18:00、19:00、20:00...)对值进行分组。我希望根据 @start 对结果进行分组 - 例如 18:44:15、19:44:15、20:44:15,...
谢谢!
最佳答案
您在这里使用了一个非常简单的技巧:
将 44:15 添加到时间值中,然后执行相同的 GROUP BY
,您将获得所需组中的数据
关于php - MySQL - 按时间间隔选择时间范围内的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27188848/