私はDB内のテーブルにある12個の列のそれぞれに対して平均を返す必要があります。 MySQLでは、1つのカラムに対して平均を取ることができます。 (1列の)次のクエリは動作します: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'の近くで使用してください。私が1列だけの平均を取得しようとするとうまくいきます。 WHERE element_name = " Temp_mean_mly " AND jan 'on line 1 –
「DEC」はhttp://dev.mysql.com/doc/refman/5.5/en/reserved-words.htmlに従って予約語です。 'dec'の周りにバッククイックを入れてください。 – Hammerite