MySQL 标准差

2025年3月17日 | 阅读 3 分钟

标准差是一种统计量,用于衡量一组值相对于均值的变异或离散程度。当数据点远离均值时,标准差会更高。因此,数据越分散,其标准差就越大。而当标准差较低时,意味着这些值更接近均值。它也衡量了与均值的变异程度。

标准差也可以定义为方差的平方根。我们可以通过以下步骤来计算标准差:

  1. 通过计算数据集中所有值的平均值来找到均值。例如,如果我们有一个包含值 2、4 和 6 的数据集,则均值为 (2+4+6)/3 = 4。
  2. 接下来,计算每个值与均值的差,然后将每个结果平方。例如,(2-4)2= (-2)2 = 4,(4-4)2 = (0)2 = 0,(6-4)2 = (2)2 = 4。
  3. 接下来,计算步骤 2 中得到的值的平均值,这就是方差。例如,((4+0+4)/3) = 5.33333333。
  4. 最后,取方差的平方根,即可得到数据集的标准差。例如,(5.33333333) 的平方根 = 2.3094010768。

样本标准差与总体标准差

当计算中只使用了少数或一部分值时,标准差被称为样本标准差

当计算中使用了所有数据集的值时,标准差被称为总体标准差

标准差用西格玛字母 (σ) 符号表示。请看下面的公式,它们解释了我们如何计算样本标准差和总体标准差。

简单标准差的公式

MySQL Standard Deviation

总体标准差的公式

MySQL Standard Deviation

在上面的公式中,N 是数据集中可用值的数量。

MySQL 标准差函数

MySQL 提供了一个函数,可以让我们轻松快速地计算样本标准差和总体标准差。MySQL 从 5.6 及更高版本开始支持这些函数。

如果我们要计算样本标准差,可以使用以下函数:

STDDEV_SAMP() 函数

此函数用于返回表达式的样本标准差(VAR_SAMP() 的平方根)。如果找不到匹配的行,此函数将返回 NULL

我们可以按如下方式使用此函数:

示例

假设我们有一个名为“employee”的表,其中包含以下数据:

MySQL Standard Deviation

以下语句计算 employee 表中薪资的样本标准差:

输出

我们将得到如下结果:

MySQL Standard Deviation

如果我们要计算总体标准差,可以使用以下函数:

STD() 函数

此函数用于返回给定表达式的总体标准差。它是 STDDEV_POP() 函数的同义词。如果找不到匹配的行,STD() 函数将返回 NULL

我们可以按如下方式使用此函数:

示例

以下语句计算 employee 表中薪资的总体标准差:

输出

我们将得到如下结果:

MySQL Standard Deviation

STDDEV() 函数

此函数用于通过计算给定表达式的统计信息来返回总体标准差。如果找不到匹配的行,STDDEV() 函数将返回 NULL

我们可以按如下方式使用此函数:

示例

以下语句计算 employee 表中薪资的样本标准差:

输出

我们将得到如下结果:

MySQL Standard Deviation

STDDEV_POP() 函数

此函数用于返回给定表达式的总体标准差(VAR_POP() 的平方根)。如果找不到匹配的行,STDDEV_POP() 函数将返回 NULL

我们可以按如下方式使用此函数:

示例

以下语句计算 employee 表中薪资的样本标准差:

输出

我们将得到如下结果:

MySQL Standard Deviation