MySQL - STDDEV_SAMP() 函数



MySQL 的 STDDEV_SAMP() 函数计算并返回特定列中值的样本标准差。

如果指定的行不存在,则此函数返回 NULL。此函数的结果将是 VAR_SAMP() 的平方根。

语法

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

STDDEV_SAMP(expr);

参数

此方法接受一个参数。如下所述:

  • expr: 一个数值表达式或表中要计算样本标准差的特定列。

返回值

此函数返回特定列中值的样本标准差。

示例

首先,让我们使用 CREATE 语句创建一个名为 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 );

要获取插入到 CUSTOMERS 表中的所有记录,请执行以下查询:

Select * From CUSTOMERS;

以下是 CUSTOMERS 表:

ID 姓名 (NAME) 年龄 (AGE) 地址 (ADDRESS) 薪水 (SALARY)
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_SAMP() 函数计算所有客户的 年龄 (AGE) 的样本标准差:

SELECT STDDEV_SAMP(AGE) From CUSTOMERS;

这将产生以下结果:

STDDEV_SAMP(AGE)
3.309438162646486

在这里,我们正在计算 薪水 (SALARY) 列的样本标准差:

SELECT STDDEV_SAMP(SALARY) From CUSTOMERS;

以上查询的输出如下所示:

STDDEV_SAMP(SALARY)
3415.650255319866

以下查询的结果将为 NULL,因为表中不存在 ID = 10 的值:

SELECT VAR_SAMP(SALARY) From CUSTOMERS
WHERE ID = 10;

这将产生以下结果:

广告
VAR_SAMP(SALARY)
NULL