SQL 中的 SUM 函数

2024 年 8 月 29 日 | 4 分钟阅读

SUM 是 SQL 中的一个聚合函数,用于返回表中整数列的总和。

SUM 函数语法

在结构化查询语言中,我们像下面这样使用 SUM 函数和表中的列:

在此语法中,我们需要指定要执行 SUM 函数的表名和列名。

SUM 函数示例

在此,我们将创建一个新表,然后使用该表中的列执行 SUM 函数。

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

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

以下多个 INSERT 查询将带有销售价和购买价的产品的记录插入 Product_Details 表

以下 SELECT 语句显示了上面 Product_Details 表的已插入记录


Product_IDProduct_Name产品数量Purchasing_PriceSelling_PriceRelease_Date类别Product_Rating
104P110.250945NULL2022-04-30衣物NULL
202P415.50045752022-01-28电气5
103P218.25025NULL2022-02-18玩具4
111P725.2505152021-12-25衣物9
210P615.50050702021-10-15电气NULL
212P819.7501102502022-01-28衣物4
112P1010.2505508352022-04-11玩具NULL

查询 1: 以下 SELECT 查询在上面的 Product_Details 表中使用了 Product_Quantity 列的 SUM 函数。

输出

总商品数量
114.75

查询 2: 以下 SELECT 查询在上面的 Product_Details 表中使用了 Selling_Price 列的 SUM 函数。

此查询返回商品销售价格的总和。

输出

商品销售价格总计
1875

查询 3: 以下 SELECT 查询在上面的 Product_Details 表中使用了 Product_Rating 列的 SUM 函数。

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

输出

商品评分总计
22

带 WHERE 子句的 SUM 函数

我们也可以将 WHERE 子句与 SUM 函数一起使用,它会累加筛选行的值。

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

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

此查询将累加表中产品 ID 大于 200 的商品数量。

输出

商品数量 > 200 的总计
50.75

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

此查询累加发布日期为 2022-01-28 的商品的采购价格。

输出

采购价格总计
325

带 DISTINCT 子句的 SUM 函数

我们也可以将 DISTINCT 子句与 SUM 函数一起使用,它会累加表中列的不同值。

使用带 DISTINCT 子句的 SUM 函数的语法如下:

查询 1: 以下 SELECT 查询在上面的 Product_Details 表中使用带 DISTINCT 子句的 SUM 函数。

此查询累加 Product_quantity 列不同值的数量。

输出

不同商品数量总计
89

查询 2: 以下 SELECT 查询在上面的 Product_Details 表中使用带 DISTINCT 子句的 SUM 函数。

输出

不同商品评分总计
18

带 GROUP BY 子句的 SUM 函数

我们也可以将 GROUP BY 子句与 SUM 函数一起使用,它会累加同一组内的值。

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

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

此查询累加同一类别的商品数量。

输出

类别同一分组数量总计
衣物55.25
玩具28.5
电气31