2012-05-04 95 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