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

时间:2014-09-25 09:26:29

标签: mysql

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

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。

编辑:这就是我要找的。

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 个答案:

答案 0 :(得分:0)

您应该使用以下查询:

查询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);