2

http://pastebin.mozilla.org/1860064のように、1つは温度で、もう1つは温度が読み取られた時間です。温度には通常、読み取り間に 5 分の差がありますが、これは常にこの時間差があるとは限りません。

私が理解する必要があるのは、すべての値を読み取り、1 時間ごとの読み取りの平均を保存するアルゴリズムです。そのため、温度は 1 時間あたり 1 つの温度、1 日あたり 24 回の読み取りでデータベースに保存され、別のデータベースに保存されます。テーブル。

例えば:

ここに画像の説明を入力

平均気温と日付 2012-10-07 10:00:00 で保存します。

私ははっきりしていましたか?

4

2 に答える 2

3

クエリだけでこれを行う 1 つの方法を次に示します。結果をデータベースに保存する必要がある場合は、独自の挿入が必要になりますが、これにより、探しているデータが取得されます。

SELECT AVG(temperature),HOUR(read_time) as read_hour FROM temperature_reads WHERE DATE(read_time) = '2012-10-06' GROUP BY read_hour

2012-10-06見ている日付に合わせてパーツを交換できます。

編集:ここであなたの情報で更新されます:

SELECT AVG(temperatura),HOUR(data) as read_hour FROM leituras WHERE DATE(read_time) = '2012-10-06' GROUP BY read_hour

これでうまくいくはずです!

于 2012-10-07T15:03:04.310 に答える
1

これを行う別の方法は、日をフィルタリングせずに、グループ化句に日と時間全体を含めることです。

SELECT AVG(temperature),
       DATE_FORMAT(date, '%d/%m/%Y %H') day_hour_read
  FROM TABLE
GROUP BY DATE_FORMAT(date, '%d/%m/%Y %H')
于 2012-10-07T15:08:24.957 に答える