所以我的同事在查看一个可以描述为以下内容的架构:
+--------------------+-----------+
| 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个块)。