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