VARIANCE
variance([DISTINCT] expr)
功能描述
VARIANCE
VARIANCE
函数是
VAR_SAMP
VAR_SAMP
的别名,用于计算一组数值数据的样本方差。方差是衡量数据分布离散程度的统计量,它可以反映数据的波动性大小。
参数说明
expr
expr
:数值类型,可以是 TINYINT
TINYINT
、SMALLINT
SMALLINT
、INT
INT
、BIGINT
BIGINT
、FLOAT
FLOAT
、DOUBLE
DOUBLE
或 DECIMAL
DECIMAL
类型。
DISTINCT
DISTINCT
(可选):表示计算去重后的集合方差。如果不设置该参数,则计算包含重复值的集合方差。
返回类型
- 返回
DOUBLE
DOUBLE
类型的数值,表示计算得到的样本方差。
注意事项
- 如果传入的参数包含
NULL
NULL
值,则 NULL
NULL
值不参与计算。
VARIANCE
VARIANCE
函数与 VAR_SAMP
VAR_SAMP
函数完全相同,可以互换使用。
使用示例
- 计算包含重复值的样本方差
SELECT variance(col) FROM VALUES (1), (2), (3), (3), (NULL) AS tab(col);
+--------------------+
| `variance`(col) |
+--------------------+
| 0.9166666666666666 |
+--------------------+
- 计算去重后的样本方差
SELECT variance(DISTINCT col) FROM VALUES (1), (2), (3), (3), (NULL) AS tab(col);
+--------------------------+
| `variance`(DISTINCT col) |
+--------------------------+
| 1 |
+--------------------------+
- 使用 FILTER 子句条件性地计算方差
SELECT variance(col) FILTER (WHERE col > 1) FROM VALUES (1), (2), (3), (4) AS tab(col);
+--------------------------------------+
| variance(col) FILTER (WHERE col > 1) |
+--------------------------------------+
| 1 |
+--------------------------------------+
- 按分组计算方差
SELECT c, variance(col)
FROM VALUES ('a', 1), ('a', 2), ('a', 3), ('b', 10), ('b', 20) AS tab(c, col)
GROUP BY c;
+---+--------------------+
| c | variance(col) |
+---+--------------------+
| a | 1 |
| b | 50 |
+---+--------------------+