【问题标题】:MySQL average temperatureMySQL平均温度
【发布时间】:2012-05-04 18:58:17
【问题描述】:

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

谢谢

【问题讨论】:

    标签: mysql average


    【解决方案1】:

    使用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
    

    注意:根据您的描述,听起来每天都有读数,但如果任何一天都没有出现在您的读数表中,那么它将不会出现在您的结果集中。

    【讨论】:

    • 谢谢迈克尔!正是我想要的。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 2016-06-22
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多