MySQL STDDEV_POP 函数

MySQL STDDEV_POP 是聚合函数之一,它计算 SELECT 语句选择的所有记录(或行)的标准差。STDDEV_POP 计算标准差的数学公式如下所示。

--Calculating the Mean or Average
Mean = Sum of each individual/Total number of items

--Calculating the Variance
Variance = ((OriginalValue – Mean)² + (OriginalValue – Mean)² +.... )/( Total number of items )

--Calculating Standard Deviation
Standard Deviation = Square root (Variance)

STD 和 STDDEV 函数是标准 STDDEV_POP 函数的同义词。因此,您可以使用任何一个函数名。MySQL 中 STD、STDDEV 和 STDDEV_POP 的基本语法如下所示。

-- STD example
SELECT STD(Column_Name)
FROM Source;

-- STDDEV example
SELECT STDDEV(Column_Name)
FROM Source;

-- STDDEV_POP example
SELECT STDDEV_POP(Column_Name)
FROM Source;

在本文中,我们将通过示例展示如何编写 STD、STDDEV 和 STDDEV_POP 函数来计算标准差。为此,我们将使用下面提供的数据。

Customer Table 1

MySQL STDDEV_POP 示例

在 STD、STDDEV 和 STDDEV_POP 函数中,它们会简单地返回指定列中所有记录的标准差。例如,下面的查询计算了来自 ... 的 Yearly_Income 列中所有记录的标准差。

-- STD example
SELECT STD(Yearly_Income) AS `Standard income`
FROM customerdetails;

-- STDDEV example
SELECT STDDEV(Yearly_Income) AS `Standard income`
FROM customerdetails;

-- STDDEV_POP example
SELECT STDDEV_POP(Yearly_Income) AS `Standard income`
FROM customerdetails;
MySQL STD, STDDEV, and STDDEV_POP Functions Example 1

STDDEV_POP Group By 示例

通常,我们使用此 STDDEV_POP 函数来计算属于特定类别或颜色的产品的标准差。

在这些情况下,我们可以使用 GROUP BY 子句 按颜色或类别对产品进行分组。然后,我们使用 STDDEV_POP 函数计算每个组中产品的标准差。让我们来看一个 聚合函数 示例。

-- STDDEV_POP Function Example
USE company;
SELECT  Profession,
        STDDEV_POP(Yearly_Income),
        STDDEV(Yearly_Income),
        STD(Yearly_Income)
FROM customerdetails
GROUP BY Profession;

上面的 MySQL 查询按职业对客户进行分组并计算他们的标准差。

STD, STDDEV, and STDDEV_POP Functions Example 2

我们以软件开发人员职业为例,向您展示 SELECT 语句 的输出。

–计算平均值
平均值 = (70000 + 79000) / 2
平均值 = 74500

–计算方差
方差 = ( (70000 – 74500)² + (79000 – 74500) )² / 2
方差 = 20,250,000

–计算标准差
标准差 = SQRT (方差)
标准差 = SQRT (20,250,000)
这意味着,标准差 = 4500