SQL SUM() 函数

SQL SUM() 函数

The SQL SUM() 函数计算特定列中所有字段(数值类型)的总和。如果指定的行不存在,则该函数返回 NULL。

如果使用 DISTINCT 关键字,该函数将计算并返回给定列的唯一值的总和。

一般而言,聚合是将一组对象视为单个实体的考虑因素。MySQL 提供了一组聚合函数,它们对表的列的所有实体进行操作,将它们视为单个单元。

语法

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

SUM(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 SUM(SALARY) as summation
from CUSTOMERS

输出

+-----------+
| summation |
+-----------+
| 35000.00  |
+-----------+

示例

现在,假设根据上面的表格,我们想要计算客户的年龄的不重复总和,那么我们可以简单地使用以下查询来实现 –

SELECT SUM(DISTINCT AGE) as summation
from CUSTOMERS

输出

+------------------+
| summation        |
+------------------+
| 153              |
+------------------+

示例

在这里,我们正在尝试获取年龄大于24岁的所有顾客薪水的总和 –

SELECT SUM(Salary) AS summation
FROM CUSTOMERS
WHERE AGE > 24;

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

+------------------+
| summation        |
+------------------+
| 18500.00         |
+------------------+

示例

以下查询返回所有工资大于5000的客户的年龄。由于有两个年龄相同的客户,其中一个的工资大于5000,所以他们的工资被累加-

SELECT AGE, 
SUM(SALARY) as sal_sum
from CUSTOMERS
GROUP BY AGE
HAVING SUM(SALARY)> 5000;

输出

+-----+----------+
| AGE | sal_sum  |
+-----+----------+
| 24  | 10000.00 |
| 25  | 8000.00  |
| 27  | 8500.00  |
+-----+----------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程