所以我的同事正在研究一个可以描述为这样的模式:
+--------------------+-----------+
| DATETIME timestamp | INT value |
+--------------------+-----------+
每 5 分钟输入一行,其中包含该时刻的值。
这就是棘手的地方。他希望获得 7 天间隔内每 8 小时的平均值。
当然,我可以想到涉及一些客户端代码的解决方案,我们想知道是否可以在 SQL 中做更多的事情。
所以本质上,他想要:
SELECT timestamp, value
FROM table
WHERE timestamp >= NOW() - INTERVAL 7 DAYS
AND timestamp <= NOW();
然后将其分解为 8 小时块,并对每个块的内容进行平均。(每个区块应该有 12 行,每天应该有 3 个区块)。