繁体   English   中英

MySQL选择年份,其中值来自上一列

[英]mysql select year where value is from previous column

我有一张有日期和温度的表。 通过以下查询,我可以显示一个表格,其中包含每月中每一天的最高温度。

SELECT day(data),
    max(if(month(data)='01',Tmax,null)) as maxgen,
    max(if(month(data)='02',Tmax,null)) as maxfeb,
    - the same for each month -
    from estacio 
    where data between '1980-01-01' and '2013-12-31' 
    group by day(data)

我想要的是找到此最大温度发生的年份,并在下一个最大温度显示它。 我尝试过的是进行子查询以查找每个maxtemp的年份,但是我不知道如何在上一列中引用maxtemp。

编辑:这是我正在寻找。

Day Gen     Feb     Mar      ...   Dec
1   62 1966 62 2012 59 1972  ...   64 2006
2   53 1972 52 1983 61 2004  ...   60 1998

...

31  58 2013         74 1998  ...   57 1965

您应该使用以下查询:

查询1

SELECT day,max(Temp),year(Date)
FROM  estacio    
GROUP BY day(data),year(Date);

对于一个月,您可以使用以下查询:

查询2

SELECT day,max(Temp),month(Date),year(Date)
FROM  estacio    
GROUP BY day(data),Month(Date);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM