MySQL - VAR_POP() 函数



MySQL 的 VAR_POP() 函数计算并返回特定列的总体标准方差。它衡量集合中每个数字与整个集合的平均值(均值)的差异程度。如果指定的行不存在,则此函数返回 NULL

此函数仅应用于数据类型为数值的列/字段,因为对其应用数学运算。

语法

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

VAR_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 );

执行以下查询以获取插入到 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 VAR_POP() 函数来计算所有客户薪水的总体标准方差:

SELECT VAR_POP(SALARY) FROM CUSTOMERS;

输出

这将产生以下结果:

VAR_POP(SALARY)
10000000

示例

让我们考虑一个数据集中存在 相同值 的场景:

在 CUSTOMERS 表中,ID 为 2 和 5 的客户年龄相同。如果我们计算其年龄的方差,VAR_POP() 函数将返回 0 作为输出,因为两者具有相同的年龄值。

SELECT VAR_POP(AGE) FROM CUSTOMERS
WHERE ID = 2;

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

VAR_POP(AGE)
0

现在,让我们考虑一个数据集中仅存在 一个值 的场景:

SELECT VAR_POP(AGE) FROM CUSTOMERS
WHERE ID = 3;

上面查询的结果也将为 0,因为只有一个客户年龄为 23:

VAR_POP(AGE)
0

现在,让我们考虑一个数据集中 没有数据 的场景:

SELECT VAR_POP(AGE) FROM CUSTOMERS
WHERE ID = 10;

此查询的结果将为 NULL,因为表中没有 ID = 10 的值:

VAR_POP(AGE)
NULL
广告