簡體   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