我需要爲DB中的表中的每個12列返回平均值。 MySQL只允許一個列的平均值。 (一列)下面的查詢工作:MySQL和多列的平均值
SELECT station_id, AVG(jan) AS avg_jan
FROM `climate_data`
WHERE element_name = "Temp_mean_mly" AND jan <> -999999
GROUP BY station_id
及以下(多列)不會(我得到的語法錯誤):
SELECT station_id, AVG(jan) AS avg_jan, AVG(feb) AS avg_feb, ... ,
AVG(dec) AS avg_dec
FROM `climate_data`
WHERE element_name = "Temp_mean_mly"
AND jan <> -999999
AND feb <> -999999
AND ...
AND dec <> -999999
GROUP BY station_id
我一定要使用12子查詢取得我需要的結果?
感謝您的幫助
「不工作」在這裏有點模糊。您能否至少告訴我們您希望後者查詢做什麼以及它做了什麼(錯誤)? – Yhn
當然。我的意思是它不能被解析。這是我得到的錯誤:#1064 - 你的SQL語法有錯誤;檢查與你的MySQL服務器版本相對應的手冊,在'dec)AS avg_dec FROM'climate_data'附近使用正確的語法。當我嘗試只爲一列獲得平均值時,它工作正常。 WHERE element_name = " Temp_mean_mly " AND jan'in line 1 –
'DEC'是根據http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html的保留字。在'dec'周圍反過來。 – Hammerite