SQL SUM函数

SQL SUM函数

SUM是SQL中的聚合函数,它返回表中整数列的总和。

SUM函数的语法

在结构化查询语言中,我们使用SUM函数与表的列一起使用,如下所示:

SELECT SUM(column_Name) AS Alias_Name FROM Table_Name;

在这个语法中,我们必须定义表格的名称和要执行SUM函数的列。

SUM函数的示例

在这里,我们将创建新的表格,通过它我们将使用表格的列执行SUM函数:

以下显示了在SQL中创建新表格的语法:

CREATE TABLE Name_of_New_Table
(
First_Column_of_table Data Type (character_size of First Column),  
Second_Column_of_table Data Type (character_size of the Second column ),  
Third_Column_of_table Data Type (character_size of the Third column),  
.......,  
Last_Column_of_table Data Type (character_size of the Last column)
);  

以下CREATE语句创建了 Product_Details 表,用于存储产品的价格和数量:

CREATE TABLE Product_Details
(
Product_ID INT NOT NULL,
Product_Name Varchar(50),
Product_Quantity INT,
Purchasing_Price INT,
Selling_Price INT,
Release_Date Date, 
Product_Rating INT
);

以下是多个INSERT查询,将产品及其销售价格和采购价格的记录插入到Product_Details表中:

INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (104, P1, 10.250, 945, NULL, 2022-04-30, NULL);

INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (202, P4, 15.500, 45, 75, 2022-01-28, 5);

INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (103, P2, 18.250, 25, NULL, 2022-02-18, 4);

INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (111, P7, 25.250, 5, 15, 2021-12-25, 9);

INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (210, P6, 15.500, 50, 70, 2021-10-15, NULL);


INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (212, P8, 19.750, 110, 250, 2022-01-28, 4);

INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (112, P10, 10.250, 550, 835, 2022-04-11, NULL);

下面的 SELECT 语句会显示上述插入记录中的 Product_Details 表:

SELECT * FROM Product_Details;
Product_ID Product_Name Product_Quantity Purchasing_Price Selling_Price Release_Date Category Product_Rating
104 P1 10.250 945 NULL 2022-04-30 Cloths NULL
202 P4 15.500 45 75 2022-01-28 Electrical 5
103 P2 18.250 25 NULL 2022-02-18 Toys 4
111 P7 25.250 5 15 2021-12-25 Cloths 9
210 P6 15.500 50 70 2021-10-15 Electrical NULL
212 P8 19.750 110 250 2022-01-28 Cloths 4
112 P10 10.250 550 835 2022-04-11 Toys NULL

查询 1: 下面的SELECT查询使用了上述Product_Details表的Product_Quantity列的SUM函数:

SELECT SUM(Product_Quantity) AS Total_sum_ofproductquantity FROM Product_Details;

输出:

Total_sum_ofproductquantity   
---  
114.75 

查询 2: 以下 SELECT 查询使用了上述 Product_Details 表的 Selling_Price 列的 SUM 函数:

SELECT SUM(Selling_Price) AS Total_ofsellingpriceproducts FROM Product_Details;

这个查询返回销售价格产品的总和。

输出:

Total_ofsellingpriceproducts   
---  
1875

查询 3: 下面的SELECT查询使用了上述Product_Details表的Product_Rating列的SUM函数:

SELECT SUM(Product_Rating) AS total_of_productrating FROM Product_Details;

这个查询返回 Product_rating 列的值的总和。

输出:

Total_ofofproductrating   
---  
22 

SUM函数加WHERE子句

我们还可以在SUM函数中使用WHERE子句,它会将筛选行的值相加。

使用SUM函数和WHERE子句的语法如下:

SELECT SUM(column_Name) AS Alias_Name FROM Table_Name WHERE Condition;

查询1: 以下SELECT查询使用了上述Product_Details表中的SUM函数和WHERE子句:

SELECT SUM(Product_Quantity) AS Total_ofproduct>200 FROM Product_Details WHERE Product_ID > 200;

这个查询将上表中产品ID大于200的产品的数量相加。

输出:

Total_ofproduct>200   
---  
50.75

查询2: 以下SELECT查询在上述Product_Details表中使用了SUM函数和WHERE子句:

SELECT SUM(Purchasing_Price) AS Total_of_purchasingprice FROM Product_Details WHERE Release_Date = 2022-01-28;

这个查询将2022-01-28发布的产品的购买价格相加。

输出:

Total_of_purchasingprice   
---  
325 

SUM函数和DISTINCT子句

我们还可以在SUM函数中使用DISTINCT子句,该子句将添加来自表中列的不同值。

使用SUM函数和DISTINCT子句的语法如下所示:

SELECT SUM(DISTINCT (column_Name)) AS Alias_Name FROM Table_Name WHERE Condition;

查询 1: 在上述 Product_Details 表中,以下 SELECT 查询使用了 SUM 函数和 DISTINCT 子句:

SELECT SUM(DISTINCT(Product_Quantity)) AS Total_ofdistinctproduct FROM Product_Details;

这个查询添加了Product_quantity列中不同值的数量。

输出:

Total_ofdistinctproduct   
---  
89

查询2: 下面的SELECT查询使用了上面Product_Details表的SUM函数和DISTINCT子句:

SELECT SUM(DISTINCT(Product_Rating)) AS total_of_distinctproductrating FROM Product_Details;

输出:

Total_ofdistinctproductrating   
---  
18 

使用GROUP BY子句的SUM函数

我们还可以使用GROUP BY子句与SUM函数一起使用,该函数将相同组中的值相加。

使用GROUP BY子句的SUM函数的语法如下:

SELECT Column_Name1, SUM(column_Name)) AS Alias_Name FROM Table_Name GROUP BY Column_Name1;

查询1: 下面的SELECT查询在上面的Product_Details表中使用了SUM函数和GROUP BY子句:

SELECT Category, SUM(Product_Quantity) AS Total_ofsame_group FROM Product_Details GROUP BY Category;

这个查询会将同一类别的数量相加。

输出结果:

Category Total_ofsamegroup
Cloths 55.25
Toys 28.5
Electrical 31

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程