从所有历史记录中选择当前当前日期的最近温度的MAX MIN MIN值

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

我想向您寻求有关SQL的帮助。我有4个列的数据库。 (时间,温度,嗡嗡声,按)这张表是我的气象站的数据。现在,此表中有110000行,其中包含最近3年的记录。我想在与今天一样的同一天获得过去所有年份的TEMP的MAX和MIN值。

我知道如何从同一天获得过去几年的所有临时数据,但我不知道接下来要做什么:-D

SELECT temp 
FROM `table_name` 
WHERE (
    YEAR(time) < YEAR(CURDATE()) 
    AND MONTH(time) = MONTH(CURDATE()) 
    AND DAY(time) = DAY(CURDATE())
)

对不起,我的英语不好。

谢谢

mysql date group-by max min
1个回答
1
投票

您可以使用日期算术和聚合:

select min(temp) min_temp, max(temp) max_temp
from table_name
where 
    year(time) < year(current_date) 
    and month(time) = month(current_date) 
    and day(time) = day(current_date)

如果要按年份显示结果:

select year(time) yr, min(temp) min_temp, max(temp) max_temp
from table_name
where 
    year(time) < year(current_date) 
    and month(time) = month(current_date) 
    and day(time) = day(current_date)
group by year(time)
order by year(time)
© www.soinside.com 2019 - 2024. All rights reserved.