MySQL VARIANCE() 函数使用指南

MySQL VARIANCE() 函数计算所有非 null 输入值的总体方差(总体标准差的平方)并返回结果。 它是 VAR_POP() 的别名。

VARIANCE() 语法

这里是 MySQL VARIANCE() 的语法:

VARIANCE(expr)

我们通常在 SQL 中按如下方式使用 VARIANCE() 函数:

SELECT VARIANCE(expr), ...
FROM table_name
[WHERE ...];

或者按如下方式结合 GROUP BY 子句使用 VARIANCE() 函数:

SELECT VARIANCE(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数

expr
必需的。一个列名或者表达式。它接受一个数值或者二进制值。

返回值

MySQL VARIANCE() 函数返回所有非 null 输入值的总体方差(总体标准差的平方)。

注意,VARIANCE() 函数只处理那些非 null 的值。也就是说, null 值会被 VARIANCE() 函数忽略。

如果所有的输入的值为 null, 该函数将返回 NULL

VARIANCE() 示例

为了演示 MySQL VARIANCE() 的用法,我们使用以下 UNIONSELECT 语句模拟一个表:

SELECT 4 x
UNION
SELECT 5 x
UNION
SELECT 6 x;
+---+
| x |
+---+
| 4 |
| 5 |
| 6 |
+---+
3 rows in set (0.00 sec)

下面的语句使用 VARIANCE() 函数计算 x 列中的所有的值的总体方差:

SELECT VARIANCE(x)
FROM (
    SELECT 4 x
    UNION
    SELECT 5 x
    UNION
    SELECT 6 x
  ) t;
+--------------------+
| VARIANCE(x)        |
+--------------------+
| 0.6666666666666666 |
+--------------------+