私の同僚は、次のように記述できるスキーマを見ています。
+--------------------+-----------+
| DATETIME timestamp | INT value |
+--------------------+-----------+
5 分ごとに、その瞬間の値を含む行が入力されます。
ここがややこしいところです。彼は、7 日間隔内の 8 時間ごとの平均を取得したいと考えています。
確かに、クライアント側のコードを含むソリューションを思いつくことができます。SQL でさらに多くのことができるかどうか疑問に思っていました。
したがって、本質的に、彼は次のことを望んでいます。
SELECT timestamp, value
FROM table
WHERE timestamp >= NOW() - INTERVAL 7 DAYS
AND timestamp <= NOW();
それを 8 時間のブロックに分割し、各ブロックの内容を平均します。(各ブロックには 12 行が必要で、1 日あたり 3 つのブロックが必要です)。