いくつかの平均を実行する必要がある単純なテーブル(テスト)があります(行の平均と「合計」列の平均を取得したい)。
id var1 var2 var3
1 7 NULL 3
2 10 NULL 6
MySQL AVG() 関数がカウントから NULL 値を除外していることに気付きました (それらは 0 としてカウントされません)。これは私が望むものです。
同様に、次の結果が必要です。
var1 var2 var3 total
8.5 NULL 4.5 6.5 (i.e. the overall average is 6.5 *not* 4.3333)
しかし、私のクエリは次のようになります。
SELECT
AVG(var1) AS var1,
AVG(var2) AS var2,
AVG(var3) AS var3,
(
AVG(var1)+
AVG(var2)+
AVG(var3)
)/3.0 AS metric_total
FROM test
これは合計平均 4.333 を返します。
AVG() 関数と同じように、単一のクエリで NULL エントリをカウントから除外する行平均を取得することは可能ですか?