MySQL - VARIANCE() 函数
MySQL VARIANCE() 函数计算并返回特定列中所有值的总体标准方差,即衡量这些值与平均值的差异。
如果数据集中的所有值相同或只有一个值,则方差为 0。如果数据集中没有任何值,则该函数返回 NULL。
VARIANCE() 函数的语义与 VAR_POP() 函数类似。
语法
以下是 MySQL VARIANCE() 函数的语法 -
VARIANCE(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 | 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 的 VARIANCE() 函数来计算所有客户工资的总体标准方差 -
SELECT VARIANCE(SALARY) FROM CUSTOMERS;
输出
这将产生以下结果 -
VARIANCE(SALARY) |
---|
10000000 |
示例
以下查询将返回 0 作为输出,因为 CUSTOMERS 表中 id = 2 和 id = 5 的年龄相同 -
SELECT VARIANCE(AGE) FROM CUSTOMERS WHERE ID = 2;
上述查询的输出如下所示 -
VARIANCE(Sale_amount) |
---|
0 |
现在,我们考虑一个数据集中只有一个值的情况 -
SELECT VARIANCE(AGE) FROM CUSTOMERS WHERE ID = 3;
上述查询的结果也将为 0,因为只有一个年龄为 23 的客户 -
VARIANCE(Sale_amount) |
---|
0 |
现在,我们考虑一个数据集中没有数据的情况 -
SELECT VARIANCE(AGE) FROM CUSTOMERS WHERE ID = 10;
此查询的结果将为 NULL,因为表中没有 ID = 3 的值 -
VARIANCE(Sale_amount) |
---|
NULL |