下面的查询从 MySql 数据库中检索天气数据,并将这些数据分组为每小时格式。
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 时间的平均值。IE。忽略 18:01 到 18:14 之间的数据。
如何修改上述查询以包含当前时间(18:00 到现在)的数据?
谢谢