2012-05-04 9 views
0

私はDATETIMEフィールドとフロートのタイプである温度フィールドを含む温度テーブルを持っています。温度測定は30分ごとに行われるので、1日に48回です。私がしたいのは、日付範囲(たとえば、2012-01-01から2012-05-01)を選択し、毎日の平均気温を計算し、その日の平均気温をその気温に戻すことです。ソリューション?MySQLの平均温度

おかげ

答えて

3

使用DATE()日時フィールドの時間部分を取り除き、温度列の集合AVG()ためGROUP BY句でそれを使用します。 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

マイケルさん!ちょうど私が欲しいもの。 :) – MikkoP