MYSQL 获取最大值。特定日期的值

问题描述 投票:0回答:3

我有一张表格,里面有多年的温度测量数据。

查找最高测量温度,仅包括当年的记录日期。

尝试以下:

SELECT timestamp, temperature AS max_temp
FROM table
WHERE
temperature = (SELECT max(temperature) FROM table
            WHERE timestamp >= '2023-01-01');

但是现在完整表格中的记录返回的是 2023 年最高测量温度。

谁有正确的方法?

mysql date max
3个回答
0
投票

您可以使用 Year() 函数提取时间戳的年份部分: 因此,修改后的查询将是:

选择时间戳,温度 AS max_temp 从表 在哪里 温度 = (从表中选择最大值(温度) WHERE 年(时间戳)= 年(CURDATE()));

希望它有效!


0
投票

这可能会解决您的问题:

SELECT timestamp,temperature 
FROM tableName 
WHERE id IN ( SELECT id 
             FROM tableName 
             WHERE temperature IN (SELECT MAX(temperature) 
                                    FROM tableName 
                                    WHERE LEFT(timestamp,4)='2023')) 
     AND LEFT(timestamp,4)='2023';

-1
投票

已解决:

SELECT timestamp, temperature AS max_temp
FROM table
WHERE 
timestamp >= '2023-01-01'
AND
temperature = (SELECT max(temperature) FROM table
            WHERE timestamp >= '2023-01-01');
© www.soinside.com 2019 - 2024. All rights reserved.