SQL VAR()函数

SQL VAR()函数

SQL VAR()函数计算特定列中字段(数值)的统计标准方差。如果指定的行(s)不存在,则此函数返回NULL。

统计标准方差是数据集合中离其平均值的差异或离散程度的衡量。在数学上,平均值是给定一组数字的平均值,方差被定义为与平均值的差异的平方的平均值。符号表示为 σ 2。

语法

以下是SQL VAR()函数的语法:

VAR(column_name)

参数

  • column_name − 需要计算标准差方差的列的名称。

示例

假设我们创建了一个名为CUSTOMERS的表,如下所示−

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

让我们将r的值插入其中 –

insert INTO CUSTOMERS VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000.00);
insert INTO CUSTOMERS VALUES(2, 'Khilan', 25, 'Delhi', 1500.00);
insert INTO CUSTOMERS VALUES(3, 'kaushik', 23, 'Kota', 2000.00);
insert INTO CUSTOMERS VALUES(4, 'Chaitali', 25, 'Mumbai', 6500.00);
insert INTO CUSTOMERS VALUES(5, 'Hardik', 27, 'Bhopal', 8500.00);
insert INTO CUSTOMERS VALUES(6, 'Komal', 22, 'MP', 4500.00);
insert INTO CUSTOMERS VALUES(7, 'Muffy', 24, 'Indore', 10000.00);

表将被创建为 –

+----+----------+-----+-----------+----------+
| 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 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

以下查询计算所有客户薪水的统计标准差 –

SELECT VAR(SALARY) as st_var
from CUSTOMERS

输出

+------------------+
| st_var           |
+------------------+
| 11666666.6666667 |
+------------------+

示例

以下查询返回所有工资大于工资标准方差平方根的客户-

SELECT NAME, SALARY, AGE,ADDRESS
FROM CUSTOMERS
WHERE SALARY > (SELECT SQRT(VAR(SALARY)) FROM CUSTOMERS)

由上面的示例我们可以得知,薪资标准方差的平方根大约等于3415.65。因此,在执行上述代码时,我们得到如下输出:

+----------+----------+-----+---------+
| NAME     | SALARY   | AGE | ADDRESS |
+----------+----------+-----+---------+
| Chaitali |  6500.00 |  25 | Mumbai  |
| Hardik   |  8500.00 |  27 | Bhopal  |
| Komal    |  4500.00 |  22 | MP      |
| Muffy    | 10000.00 |  24 | Indore  |
+----------+----------+-----+---------+

示例

现在,假设我们根据上述表格想要计算客户不同(唯一)年龄的标准差,我们可以使用以下查询进行简单计算:

SELECT VAR(DISTINCT AGE) as st_var
from CUSTOMERS

输出

+------------------+
| st_var           |
+------------------+
| 13.1             |
+------------------+

示例

在这里,我们尝试获得年龄大于24岁的所有客户薪水的标准方差 –

SELECT VAR(Salary) AS st_var
FROM CUSTOMERS
WHERE AGE > 24;

以上代码的输出结果如下:

+------------------+
| st_var           |
+------------------+
| 11729166.6666667 |
+------------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程