SQL-查找最高温度及其时间

时间:2018-08-12 22:09:26

标签: mysql sql

我有一个名为raw_data的表,带有列,如图所示。 table "raw_data"

我想找到给定时间之间的“ temp_out”列的最大值,获取该最大值和出现最大值时的时间。

我的代码是:

SELECT time, temp_out AS temp_out_max
                FROM raw_data
                WHERE temp_out = (SELECT MAX(temp_out)
                      FROM raw_data
                      WHERE time BETWEEN '$time_yesterday' AND '$time_yesterday_2' 
                                 )

它会在给定时间之间找到最大值,但是不会返回与给定时间之间最大值匹配的时间。

怎么了?我已经尝试了一切...谢谢您的答复。

2 个答案:

答案 0 :(得分:0)

如果您要查找一行,则可以执行以下操作:

SELECT time, temp_out AS temp_out_max
FROM raw_data
WHERE time BETWEEN ? AND ?
ORDER BY temp_out DESC
FETCH FIRST 1 ROW ONLY;

?是参数的占位符。这就是您应该将常量值传递到查询中的方式。

FETCH FIRST 1 ROW ONLY是标准的SQL语法。某些数据库使用SELECT TOPLIMIT。 MySQL使用LIMIT

答案 1 :(得分:0)

您还需要外部查询的时间限制:

<VQCIA>:
    goi: g_o_i
    BoxLayout:
        orientation: "vertical"