MySQL平均温度

时间:2012-05-04 18:58:18

标签: mysql average

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

由于

1 个答案:

答案 0 :(得分: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

注意:根据您的说明,听起来好像每天都有读数,但如果您的读数表中没有出现任何一天,则此结果集中将不会显示该数据。