MySQL 标准差函数

标准差是衡量一组值相对于平均值的变化或离散数量的统计量。当数据点远离平均值时,标准偏差会更高。因此,数据越分散,其标准偏差就越大。当标准偏差较低时,这意味着值更接近平均值。它还测量与平均值存在多少变化。

标准偏差也可以定义为方差的平方根。我们可以使用以下几点计算标准偏差:

  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。

一、样本标准偏差与总体标准偏差

当计算中仅使用少数值或值的子集时,标准偏差称为样本标准偏差。

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

标准偏差使用sigma 字母 (σ) 符号表示。请参阅以下方程式,这些方程式解释了我们如何计算样本标准偏差和总体标准偏差:

简单标准差的方程:

总体标准差方程:

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

二、MySQL 标准差函数

MySQL提供了一个函数,可以让我们以简单快捷的方式计算样本标准差和总体标准差。MySQL 从5.6 和更高版本开始支持这些函数。

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

1、STDDEV_SAMP() 函数

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

我们可以这样使用这个函数:

STDDEV_SAMP(expr);  

示例

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

以下语句计算员工表中薪水的样本标准差:

mysql> SELECT STDDEV_SAMP (salary) FROM employee;  

我们将得到以下结果:

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

2、STD() 函数

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

我们可以这样使用这个函数:

STD(expr);  

示例

以下语句计算员工表中薪水的总体标准差:

mysql> SELECT STD(salary) FROM employee;  

我们将得到以下结果:

3、STDDEV() 函数

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

我们可以这样使用这个函数:

STDDEV(expr);  

示例

以下语句计算员工表中薪水的样本标准差:

mysql> SELECT STDDEV(salary) FROM employee; 

我们将得到以下结果:

4、STDDEV_POP() 函数

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

我们可以这样使用这个函数:

STDDEV_POP(expr);  

示例

以下语句计算员工表中薪水的样本标准差:

mysql> SELECT STDDEV_POP(salary) FROM employee; 

我们将得到以下结果:

热门文章

优秀文章