2012-05-04 97 views
0

我有一个温度表,其中包含一个DATETIME字段和一个温度字段,它是浮点类型。每30分钟进行一次温度测量,因此每天测量48次。我想要做的是选择一个日期范围(例如2012-01-01至2012-05-01),计算每天的平均温度并返回该范围内每天的平均温度。解决方案?MySQL平均温度

由于

回答

3

使用DATE()以剥离日期时间字段的时间部分,以及使用它的GROUP BY子句中的温度列的骨料AVG()。您的WHERE子句将过滤您想查找的日期范围。

SELECT 
    DATE(temp_date) AS theday, 
    AVG(temperature) AS avgtmp 
FROM 
    temp_readings 
WHERE DATE(temp_date) BETWEEN '2012-01-01' AND '2012-05-01' 
GROUP BY theday 

注:从你的描述,这听起来像每天确实有读数,但如果有一天没有你的读数表显示,这将是从你的结果这里设置缺席。

+0

谢谢Michael!正是我想要的。 :) – MikkoP