2015-11-02 79 views
1

您好我有一個MySQL數據庫具有以下數據 ID, TEMP, log_timeMYSQL平均N行

每個記錄有ID的唯一值,與CURRENT_TIMESTAMP自動生成log_time。 TEMP是插入一個浮動例如29.90

我可以用

​​

我怎麼能平均TEMP最近的60個值選擇最新的數據?

回答

1

你必須按照log_time降序排列前60行。然後找到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; 
0

嘗試此查詢

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

選擇60條記錄與limit 60的最新記錄使用order by desc

+0

它不會限制平均的結果() –