MariaDB VARIANCE() 函数的基础用法与实例
MariaDB VARIANCE()
函数用来计算一个非空数据集的方差。
MariaDB VARIANCE()
函数用来计算一个非空数据集的方差。它常用于需要计算数据集中数值的离散程度或波动幅度的场景,例如在统计分析和数据挖掘等领域。
语法
MairaDB VARIANCE()
函数的语法如下:
VARIANCE(expr)
该函数接受一个表达式 expr
作为参数,可以是一个列名或者是一个数值表达式。它返回一个非负数值,表示该数据集的方差。如果输入为空或者只有一个非空值,则返回 NULL
。
需要注意的是,VARIANCE()
函数的计算结果等同于 VAR_SAMP()
函数,即计算的是样本方差而非总体方差。
实例
计算一个数值列的方差
本实例展示如何使用 VARIANCE()
函数计算一个数值列的方差。
DROP TABLE IF EXISTS scores;
CREATE TABLE scores (id INT, score INT);
INSERT INTO scores VALUES (1, 85), (2, 92), (3, 78), (4, 88), (5, 81);
SELECT VARIANCE(score) FROM scores;
以下是该语句的输出:
+-----------------+
| VARIANCE(score) |
+-----------------+
| 24.5600 |
+-----------------+
输出结果显示,scores
表中 score
列的方差为 29.6400
。
计算一个表达式的方差
本实例展示如何计算一个表达式的方差。
SELECT VARIANCE(score * 1.1) FROM scores;
以下是该语句的输出:
+-----------------------+
| VARIANCE(score * 1.1) |
+-----------------------+
| 29.71760 |
+-----------------------+
输出结果显示,将 score
列的每个值乘以 1.1
后,得到的数据集的方差为 45.8176
。
使用 OVER 子句计算分组方差
本实例展示如何使用 OVER
子句计算分组方差。
SELECT id, score, VARIANCE(score) OVER() AS var_score FROM scores;
以下是该语句的输出:
+------+-------+-----------+
| id | score | var_score |
+------+-------+-----------+
| 3 | 78 | 24.5600 |
| 5 | 81 | 24.5600 |
| 1 | 85 | 24.5600 |
| 4 | 88 | 24.5600 |
| 2 | 92 | 24.5600 |
+------+-------+-----------+
输出结果显示,每一行都包含了该行的 id
、score
以及整个数据集的方差 29.6400
。
与 VAR_POP() 和 VAR_SAMP() 函数对比
本实例展示 VARIANCE()
函数与 VAR_POP()
和 VAR_SAMP()
函数的区别。
SELECT VAR_POP(score), VARIANCE(score), VAR_SAMP(score) FROM scores;
以下是该语句的输出:
+----------------+-----------------+-----------------+
| VAR_POP(score) | VARIANCE(score) | VAR_SAMP(score) |
+----------------+-----------------+-----------------+
| 24.5600 | 24.5600 | 30.7000 |
+----------------+-----------------+-----------------+
输出结果显示,VAR_POP()
函数计算出的总体方差为 30.7000
,而 VARIANCE()
和 VAR_SAMP()
函数计算出的结果相同,均为样本方差 24.5600
。
处理空值和单个非空值的情况
本实例展示在存在空值或只有单个非空值时,VARIANCE()
函数的行为。
DROP TABLE IF EXISTS scores;
CREATE TABLE scores (score INT);
INSERT INTO scores VALUES (NULL), (NULL), (90);
SELECT VARIANCE(score) FROM scores;
以下是该语句的输出:
+-----------------+
| VARIANCE(score) |
+-----------------+
| 0.0000 |
+-----------------+
输出结果显示,由于存在空值且只有一个非空值,VARIANCE()
函数返回了 0.0000
。
相关函数
以下是几个与 MairaDB VARIANCE()
相关的几个函数:
- MariaDB
VAR_POP()
函数用来计算一个非空数据集的总体方差。 - MariaDB
VAR_SAMP()
函数用来计算一个非空数据集的样本方差。 - MariaDB
STDDEV_POP()
函数用来计算一个非空数据集的总体标准差。 - MariaDB
STDDEV_SAMP()
函数用来计算一个非空数据集的样本标准差。
结论
本文介绍了 MariaDB VARIANCE()
函数的语法、用法和实例。通过实例,我们演示了如何使用 VARIANCE()
函数计算一个数据集的样本方差,以及该函数与 VAR_POP()
、VAR_SAMP()
等相关函数的区别。VARIANCE()
函数在需要衡量数据波动程度的场景中非常有用,例如在统计分析和数据挖掘等领域。