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 |
+------+-------+----------+

输出结果显示,每一行都包含了该行的 idscore 以及整个数据集的样本方差 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() 函数在需要衡量数据波动程度的场景中非常有用,例如在统计分析和数据挖掘等领域。