Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

SQL 教程

SQL 主页 SQL 简介 SQL 语法 SQL 选择 SQL 选择 DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL 插入 SQL NULL 值 SQL 更新 SQL 删除 SQL 选择 TOP SQL 聚合函数 SQL 最小值和最大值 SQL 计数 SQL 求和 SQL 平均值 SQL LIKE SQL 通配符 SQL IN SQL BETWEEN SQL 别名 SQL 连接 SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL JOIN SQL 自连接 SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY, ALL SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL NULL 函数 SQL 存储过程 SQL 注释 SQL 运算符

SQL 数据库

SQL 创建数据库 SQL 删除数据库 SQL 数据库备份 SQL 创建表 SQL 删除表 SQL 修改表 SQL 约束 SQL 非空 SQL 唯一 SQL 主键 SQL 外键 SQL 检查 SQL 默认值 SQL 索引 SQL 自动增量 SQL 日期 SQL 视图 SQL 注入 SQL 托管 SQL 数据类型

SQL 参考

SQL 关键字 MySQL 函数 SQL Server 函数 MS Access 函数 SQL 快速参考

SQL 示例

SQL 示例 SQL 编辑器 SQL 测试 SQL 练习 SQL Server SQL 集训营 SQL 证书

SQL SUM() 函数


SQL SUM() 函数

SUM() 函数返回数值列的总和。

示例

返回 OrderDetails 表中所有 Quantity 字段的总和

SELECT SUM(Quantity)
FROM OrderDetails;
尝试一下 »

语法

SELECT SUM(column_name)
FROM table_name
WHERE condition;


演示数据库

以下是从 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 表中每个 OrderIDQuantity

示例

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 美元。

示例

OrderDetailsProducts 联接,并使用 SUM() 来找到总金额

SELECT SUM(Price * Quantity)
FROM OrderDetails
LEFT JOIN Products ON OrderDetails.ProductID = Products.ProductID;
尝试一下 »

您将在本教程的后面了解有关 联接 的更多信息。


通过练习测试自己

练习

使用 SQL 函数计算 Products 表中所有 Price 列值的总和。

SELECT 
FROM Products;

开始练习


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.