2014-09-22 221 views
0

我有兩個工作查詢。第一個選擇特定月份的觀測溫度。第二個選擇當月每一天的正常平均值。mysql將兩個查詢合併爲一個查詢

SELECT data, Tmax, Tmin, Mitjana, Pluja 
FROM $estacio 
WHERE data BETWEEN '2014-03-01' AND '2014-03-31' 

SELECT data, round(avg(Mitjana),1) 
FROM $estacio 
WHERE month(data)='03' 
group by day(data), month(data) 
order by data 

我試圖找到進入第一查詢作爲新列觀察到平均與正常AVG和插入之間的區別。 (Mitjana的意思是)

+0

可能重複[結合mysql查詢列式](http://stackoverflow.com/questions/25729406/combine-mysql-queries-columnwise) – MrTux 2014-09-22 10:12:27

回答

0

只需將第二個查詢添加到第一個查詢。

SELECT data, Tmax, Tmin, Mitjana, Pluja, (
    (SELECT NormalAvg FROM 
    (SELECT data, round(avg(Mitjana),1) AS NormalAvg FROM $estacio 
    WHERE month(data)='03' 
    group by day(data), month(data) order by data) AS NormalAvgList 
    WHERE NormalAvgList.data=est.data LIMIT 1)-Mitjana) AS Diff 
    FROM $estacio AS est WHERE data BETWEEN '2014-03-01' AND '2014-03-31' 

測試SQL Fiddle

+0

謝謝你的答案。可悲的是,我無法提取第五列。我使用mysql_fetch_array和$ row [5],但僅顯示四列數據,第五列空白。我試過$ row ['Diff'],但沒有運氣。 – Jordi 2014-09-22 09:33:34

+0

我認爲你的答案是正確的,但我無法查看我的表格中的第五列。我在var和print_r中插入行。 Diff的結果在每一行都是空白的。任何人都知道爲什麼? – Jordi 2014-09-22 14:38:49