摘要:在本教程中,您将学习如何使用MySQL 标准差函数来计算填充标准差和样本标准差。
标准差简介
标准差是衡量数据集中值的分布程度的指标。标准差显示与平均值(均值)存在多少差异。
低标准差表明数据集中的值接近平均值。高标准差表明数据集的值分布在很大的值范围内。
标准差是方差的平方根,可以通过以下步骤计算:
- 步骤 1. 计算数据集中所有值的平均值,得到平均数或平均值,例如,假设数据集由 1、2 和 3 组成,则平均值为 (1+2+3)/3 = 2。
- 步骤 2. 计算每个值与平均值的差值,并对每个结果求平方,例如 (1-2) 2 = (-1) 2 = 1、(2-2) 2 = (0) 2 = 0,(3-2) 2 = (1) 2 = 1。
- 步骤 3. 计算步骤 2 中的平均值,从而产生方差。然后对方差求平方根,得到数据集中所有值的标准差,例如 ((1 + 0 + 1)/3) = 0.816497 的平方根
总体标准差与样本标准差
如果将数据集中的所有值都纳入计算,则该标准差称为总体标准差。但是,如果将值的子集或样本纳入计算中,则该标准差称为样本标准差。
西格玛字母 (σ) 表示标准差。以下方程说明了如何计算总体标准差和样本标准差:
总体标准差:
样本标准差:
总体标准差和样本标准差的计算略有不同。计算样本标准差的方差时,除以 N-1 而不是 N,其中 N 是数据集中的值的数量。
MySQL 标准差函数
MySQL 使您可以轻松计算总体标准差和样本标准差。
要计算总体标准差,您可以使用以下函数之一:
STD(expression)
– 返回表达式的总体标准差。如果没有匹配的行,STD
函数将返回NULL
。-
STDDEV(expression)
– 相当于STD
函数。它仅与 Oracle 数据库兼容。 -
STDEV_POP(expression)
– 相当于STD
函数。
要计算样本标准差,请使用STDDEV_SAMP (expression)
函数。
MySQL还提供了一些用于总体方差和样本方差计算的函数:
VAR_POP(expression)
– 计算表达式的总体标准方差。-
VARIANCE(expression)
– 相当于VAR_POP
函数。 -
VAR_SAMP(expression)
– 计算表达式的样本标准方差。
MySQL 标准差函数示例
让我们看一下示例数据库中的orders
表。
总体标准差函数的示例
首先,以下查询返回orders
表中的客户编号及其订单数:
SELECT customerNumber,
COUNT(*) orderCount
FROM orders
WHERE status = 'Shipped'
GROUP BY customerNumber;
Code language: SQL (Structured Query Language) (sql)
其次,以下语句计算客户订单数的总体标准差:
SELECT FORMAT(STD(orderCount),2)
FROM (SELECT customerNumber, count(*) orderCount
FROM orders
GROUP BY customerNumber) t;
Code language: SQL (Structured Query Language) (sql)
请注意, FORMAT 函数用于格式化STD
函数的结果。
样本标准差函数示例
假设您只想评估订单表中已发货的订单。
首先,以下查询返回客户编号及其已发货订单的编号:
SELECT customerNumber, count(*) orderCount
FROM orders
WHERE status = 'Shipped'
GROUP BY customerNumber;
Code language: SQL (Structured Query Language) (sql)
其次,以下查询使用STDDEV_SAMP
函数来计算样本标准差:
SELECT FORMAT(STDDEV_SAMP(orderCount),2)
FROM (SELECT customerNumber, count(*) orderCount
FROM orders
WHERE status = 'Shipped'
GROUP BY customerNumber) t;
Code language: SQL (Structured Query Language) (sql)
在本教程中,我们向您介绍了标准差的概念。然后,我们向您展示了如何使用 MySQL 标准差函数来计算表达式的总体标准差和样本标准差。
本教程有帮助吗?