我有一张包含日期和温度的表格。通过以下查询,我可以显示一个表格,其中包含一个月中每一天的最高温度。
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 旁边显示它。 我试过的是创建一个子查询来查找每个 maxtemp 的年份,但我不知道如何引用上一列中的 maxtemp。
编辑:这就是我要找的。p>
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);
关于mysql选择年份,其中值来自上一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26034998/