Flash cards
Review the key moves
What is the main idea behind SQL SUM() Function?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
___ SUM(Quantity)Put the learning moves in the order that makes the concept easiest to apply.
The SQL SUM() Function
The SUM() function is used to calculate the total sum of values within a numeric column.
The SUM() function ignores NULL values in the column.
The following SQL returns the sum of the Quantity field in the "OrderDetails" table:
Example
SELECT SUM(Quantity)
FROM OrderDetails;SUM() 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.
The following SQL returns the sum of the Quantity field for the product with ProductID = 11, in the "OrderDetails" table:
Example
SELECT SUM(Quantity)
FROM OrderDetails
WHERE ProductId = 11;Use an Alias
Give the summarized column a name by using the AS keyword.
Example
SELECT SUM(Quantity) AS total
FROM OrderDetails;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;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" table costs 10 dollars, we can find the total earnings in dollars by multiply each quantity with 10:
SUM()We can also join the "OrderDetails" table with the "Products" table to find the actual price, instead of assuming it is 10 dollars:
OrderDetailsYou will learn more about Joins later in this tutorial.