SQL SUM 函数

一、SQL SUM 函数 语法

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

在SQL语言中,我们对表的列使用 SUM 函数,如下块所示:

SELECT SUM(column_Name) AS Alias_Name FROM Table_Name; 

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

二、SQL 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 查询将 SUM 函数与上述 Product_Details 表的 Product_Quantity 列一起使用:

SELECT SUM(Product_Quantity) AS Total_sum_ofproductquantity FROM Product_Details;  

输出结果为:

Total_sum_ofproductquantity
114.75

查询 2:以下 SELECT 查询将 SUM 函数与上述 Product_Details 表的 Selling_Price 列一起使用:

SELECT SUM(Selling_Price) AS Total_ofsellingpriceproducts FROM Product_Details;  

此查询返回售价产品的总和。

输出结果为:

Total_ofsellingpriceproducts
1875

查询 3:以下 SELECT 查询将 SUM 函数与上述 Product_Details 表的 Product_Rating 列一起使用:

SELECT SUM(Product_Rating) AS total_of_productrating FROM Product_Details;  

此查询返回 Product_rating 列的值的总和。

输出结果为:

Total_ofofproductrating
22

三、带有 WHERE 子句的 SUM 函数

我们还可以将 WHERE 子句与 SUM 函数一起使用,该函数添加过滤行的值。

将 SUM 函数与 WHERE 子句一起使用的语法如下:

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

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

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

此查询添加上表中产品 id 大于 200 的产品的数量。

输出结果为:

Total_ofdistinctproduct
89

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

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

此查询添加了 2022-01-28 发布的产品的采购价格。

输出结果为:

Total_ofdistinctproductrating
18

四、带有 GROUP BY 子句的 SUM 函数

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

将 SUM 函数与 GROUP BY 子句一起使用的语法如下:

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

查询 :以下 SELECT 查询使用 SUM 函数和上述 Product_Details 表中的 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

热门文章

优秀文章