0

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

ありがとう

4

1 に答える 1

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

注:あなたの説明から、毎日が測定値を持っているように聞こえますが、測定値テーブルに日が表示されない場合、ここの結果セットには表示されません。

于 2012-05-04T19:00:57.870 に答える