MySQL - STDDEV_POP() 函数



标准差是项目与其平均值的平方偏差的平均值的平方根。用符号表示为σσ。它分为两种类型:总体标准差、样本标准差。

MySQL STDDEV_POP() 函数计算并返回特定列中字段的总体标准差。如果指定的行不存在,则此函数返回NULL。此函数的结果将是VAR_POP()的平方根。

语法

以下是 MySQL STDDEV() 函数的语法:

STDDEV_POP(expr);

参数

此方法接受一个参数。下面描述了它:

  • expr: 我们要计算标准差的表达式或特定列。

返回值

此函数计算并返回特定列中行的总体标准差。

示例

在以下查询中,我们使用 CREATE TABLE 语句创建一个名为CUSTOMERS的表,如下所示:

CREATE TABLE CUSTOMERS (
   ID INT AUTO_INCREMENT,
   NAME VARCHAR(20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

以下查询将 7 条记录添加到上面创建的表中:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES 
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );

要验证是否插入了记录,请执行以下查询:

Select * From CUSTOMERS;

以下是 CUSTOMERS 表:

ID 姓名 年龄 地址 薪资
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 Kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

在这里,我们使用 MySQL STDDEV_POP() 函数来计算所有客户薪资的总体标准差:

SELECT STDDEV_POP(SALARY) From CUSTOMERS;

输出

这将产生以下结果:

STDDEV_POP(SALARY)
3162.2776601683795

查询的结果将为 NULL,因为 CUSTOMERS 表中没有 ID 等于 15 的记录:

SELECT STDDEV(SALARY) From CUSTOMERS
WHERE ID = 15;

输出

这将产生以下结果:

STDDEV(SALARY)
NULL
广告