SQL SUM() 函数
SQL SUM() 函数
SUM() 函数用于计算指定数值列中值的总和。
SUM() 函数会忽略列中的 NULL 值。
SUM() 语法
SELECT SUM(column_name) FROM table_name WHERE condition;
实例
返回 OrderDetails 表中所有 Quantity 字段的总和:
SELECT SUM(Quantity) FROM OrderDetails;
演示数据库
以下是在实例中使用的 OrderDetails 表的片段:
| OrderDetailID | OrderID | ProductID | Quantity |
|---|---|---|---|
| 1 | 10248 | 11 | 12 |
| 2 | 10248 | 42 | 10 |
| 3 | 10248 | 72 | 5 |
| 4 | 10249 | 14 | 9 |
| 5 | 10249 | 51 | 40 |
添加 WHERE 子句
您可以添加一个 WHERE 子句来指定条件:
实例
返回 ProductID 为 11 的产品的 Quantity 字段的总和:
SELECT SUM(Quantity) FROM OrderDetails WHERE ProductId = 11;
使用别名
使用 AS 关键字为汇总列命名。
实例
将列命名为 total:
SELECT SUM(Quantity) AS total FROM OrderDetails;
将 SUM() 与 GROUP BY 结合使用
在这里,我们使用 SUM() 函数和 GROUP BY 子句,返回 OrderDetails 表中每个 OrderID 的 Quantity:
实例
SELECT OrderID, SUM(Quantity) AS [Total Quantity] FROM OrderDetails GROUP BY OrderID;
您将在本教程的稍后部分中学习更多有关 GROUP BY 子句的内容。
带有表达式的 SUM()
SUM() 函数内的参数也可以是一个表达式。
如果我们假设 OrderDetails 列中的每个产品成本为 10 美元,则可以通过将每个数量乘以 10 来计算出总收益(美元):
实例
在 SUM() 函数中使用一个表达式:
SELECT SUM(Quantity * 10) FROM OrderDetails;
我们也可以将 OrderDetails 表与 Products 表连接起来,以查找实际金额,而不是假设它为 10 美元:
实例
将 OrderDetails 与 Products 连接起来,并使用 SUM() 查找总金额:
SELECT SUM(Price * Quantity) FROM OrderDetails LEFT JOIN Products ON OrderDetails.ProductID = Products.ProductID;
您将在本教程的稍后部分中学到更多有关连接的内容。