MYSQL从最后n行中找到最高值

时间:2016-04-18 18:06:57

标签: mysql max

我有外部温度的数据库。行 - id,日期时间和温度,有千条记录。如何从最后n行找到最高温度?

我希望通过此命令找到表格中最后50条记录的最高值:

SELECT DATETIME, temperature from table ORDER BY DATETIME DESC LIMIT 50;

此命令不起作用。

5 个答案:

答案 0 :(得分:2)

SELECT max(temperature) 
from your_table 
ORDER BY DATETIME DESC 
LIMIT 50;

答案 1 :(得分:1)

SELECT max(temperature) from table ORDER BY DATETIME DESC LIMIT 50;

或者如果你想要日期温度

SELECT Date(DATETIME), max(temperature) from table ORDER BY DATETIME DESC LIMIT 50 group by Date(DATETIME);

答案 2 :(得分:0)

试试这个

SELECT max(temperature) 
from table
ORDER BY DATETIME DESC 
LIMIT 50 1;

答案 3 :(得分:0)

我尝试了我们的建议,但当我在php写道:

echo $row['DATETIME']. $row['temperature']. "<br />" ;
页面上的

只是错误:注意:尝试获取非对象的属性

答案 4 :(得分:-1)

SELECT
    MAX(temperature)
FROM (
    SELECT
        temperature
    FROM
        table
    ORDER BY
        id DESC
    LIMIT 50
) t

如果更大的DATETIME总是有更大的ID,则按ID排序会比DATETIME更快