MySQL - SUM() 函式



MySQL 的SUM()函式是一個聚合函式,用於計算特定列/欄位中所有值的總和。如果指定的行不存在,則此函式返回NULL

如果您在 MySQL 中使用 SUM() 函式,請務必記住以下幾點 -

  • 如果您在 SELECT 語句中使用 SUM() 函式,而該語句不返回任何行,則 SUM() 函式返回 NULL,而不是零。

  • 如果您使用 DISTINCT 關鍵字,則此函式將計算並返回給定列的唯一值的總和。

  • SUM() 函式在計算中忽略 NULL 值。

語法

以下是 MySQL SUM() 函式的語法 -

SUM(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 SUM() 函式來計算所有客戶的總 SALARY -

SELECT SUM(SALARY) From CUSTOMERS;

輸出

這將產生以下結果 -

SUM(SALARY)
35000.00

示例

如果我們在任何不返回記錄(即空結果集)的列上使用 MySQL SUM() 函式,則 SUM() 函式返回 NULL,而不是零 -

SELECT SUM(SALARY) as TotalSalary
FROM CUSTOMERS
WHERE NAME = 'Varun';

輸出

以上查詢將返回 NULL,因為客戶“Varun”不存在。

TotalSalary
NULL

示例

在以下查詢中,我們對“SALARY”列使用 SUM() 函式以及 DISTINCT 關鍵字來計算唯一薪資值的總和 -

SELECT SUM(DISTINCT SALARY) FROM CUSTOMERS;

輸出

以上查詢的輸出如下所示 -

TotalSalary
33000.00
廣告

© . All rights reserved.