mysql将两个查询组合成一个查询

时间:2014-09-22 08:09:19

标签: 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

我试图找到观察到的平均值和普通平均值之间的差异,并作为新列插入到第一个查询中。 (Mitjana是卑鄙的)

1 个答案:

答案 0 :(得分: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进行测试。