您好我有一个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个值?
答案 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