我有一个简单的表(测试),我需要在其中执行一些平均值(我想获得行平均值和“总”列平均值)。
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 条目的行平均值?