SQL SUM() Function
The SQL SUM() Function
The SUM()
function returns the total sum of a numeric column.
Example
Return the sum of all Quantity
fields in the OrderDetails
table:
SELECT SUM(Quantity)
FROM OrderDetails;
Try it Yourself »
Syntax
SELECT SUM(column_name)
FROM table_name
WHERE condition;
Demo Database
Below is a selection from the OrderDetails table used in the examples:
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
Add a WHERE Clause
You can add a WHERE
clause to specify conditions:
Example
Return the sum of the Quantity
field for the product with
ProductID
11:
SELECT SUM(Quantity)
FROM OrderDetails
WHERE ProductId = 11;
Try it Yourself »
Use an Alias
Give the summarized column a name by using the AS
keyword.
Use SUM() with GROUP BY
Here we use the SUM()
function and the
GROUP BY
clause, to return the Quantity
for each OrderID
in the OrderDetails table:
Example
SELECT OrderID, SUM(Quantity) AS [Total Quantity]
FROM OrderDetails
GROUP BY OrderID;
Try it Yourself »
You will learn more about the
GROUP BY
clause later in this tutorial.
SUM() With an Expression
The parameter inside the SUM()
function can also be an expression.
If we assume that each product in the OrderDetails
column costs 10 dollars, we can find the total earnings in dollars by
multiply each quantity with 10:
Example
Use an expression inside the SUM()
function:
SELECT SUM(Quantity * 10)
FROM OrderDetails;
Try it Yourself »
We can also join the OrderDetails
table to the
Products
table to find the actual amount, instead of assuming it is 10 dollars:
Example
Join OrderDetails
with
Products
, and use SUM()
to find the total amount:
SELECT SUM(Price * Quantity)
FROM OrderDetails
LEFT JOIN Products ON OrderDetails.ProductID = Products.ProductID;
Try it Yourself »
You will learn more about Joins later in this tutorial.