MYSQL平均N行

时间:2015-11-02 06:37:41

标签: mysql

您好我有一个MYSQL数据库,其中包含以下数据 ID, TEMP, log_time

每条记录都有唯一的ID值,使用CURRENT_TIMESTAMP自动生成log_time。 TEMP是一个浮点数,插入例子29.90

我可以使用

选择最新的数据
SELECT ID, TEMP, log_time FROM log_data 
WHERE ID = (select max(ID) from log_data)

如何平均TEMP的最近60个值?

2 个答案:

答案 0 :(得分:1)

您必须按降序排列前60行log_time。然后找到TEMP的平均值。

<强>查询

select avg(t.TEMP) as average_temp from
(
    select ID, TEMP, log_time
    from log_data
    order by log_time desc limit 60
)t;

答案 1 :(得分:0)

尝试此查询

select avg(new.TEMP) from
(
    select *
    from table
    order by log_time desc limit 60
) new

选择包含limit 60的60条记录,以便使用最新记录order by desc