以下のクエリは、MySqlデータベースから気象データを取得し、このデータを1時間ごとの形式にグループ化します。
select hour(datetime) AS hour
, avg(Temperature) as AVGT
from Database.minute
WHERE DATETIME
BETWEEN (CURDATE() + INTERVAL (SELECT hour(NOW())) hour - INTERVAL 23 hour)
AND ((CURDATE() + INTERVAL (SELECT hour(NOW())) hour))
group by hour
order by (CURDATE() + INTERVAL (SELECT hour(NOW())) hour - INTERVAL 23 hour)
出力は次のとおりです。
hour AVGT
19 11.730
20 11.970
21 11.970
22 11.760
23 11.660
0 11.700
1 11.830
2 12.370
3 12.770
4 12.840
5 12.840
6 12.540
7 12.500
8 12.030
9 12.100
10 12.300
11 12.060
12 11.090
13 10.920
14 10.920
15 10.820
16 10.760
17 10.690
18 10.560
現在は18時15分です。上記の出力はすべて、「18」時間に収集されたデータを除いて正しいものです。18:00から18:15までの平均値を取得する代わりに、時間18:00の平均を出力するだけです。すなわち。18:01から18:14までのデータを無視します。
上記のクエリを変更して、現在の時間(18:00から現在)のデータを含めるにはどうすればよいですか?
ありがとう