SQLCOUNT() Function
The SQL COUNT() Function
TheCOUNT() function returns the number of rows that matches a specified criterion.
Example
Find the total number of rows in theProducts table (will include NULL values):
FROM Products;
Syntax
SELECT COUNT([DISTINCT]column_name | *)
FROMtable_name
WHEREcondition;
The behavior ofCOUNT() depends on the argument used within the parentheses:
COUNT(*)- Counts the total number of rows in a table (including NULL values).COUNT(columnname)- Counts all non-null values in the column.COUNT(DISTINCT columnname)- Counts only the unique, non-null values in the column.
Demo Database
Below is a selection from theProducts table used in the examples:
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18.00 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19.00 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10.00 |
| 4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22.00 |
| 5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
Using COUNT(column_name)
TheCOUNT(column_name) counts all non-null values in the specified column.
The following SQL counts all non-null values of the "ProductName" column:
Example
Find the number of products where theProductName is not null:
FROM Products;
Add a WHERE Clause
You can add aWHERE clause to specify conditions:
Example
Find the number of products wherePrice is higher than 20:
FROM Products
WHERE Price > 20;
Using COUNT(DISTINCT column_name)
You can ignore duplicates by using theDISTINCT keyword.
TheCOUNT(DISTINCT column_name) counts only the unique, non-null values in the column.
IfDISTINCT is specified, rows with the same value for the specified column will be counted as one.
The following SQL counts the unique, non-null values of the "Price" column:
Example
How manydifferent prices are there in theProducts table:
FROM Products;
Use an Alias
Give the counted column a name by using theAS keyword.
Example
Name the column "Number of records":
FROM Products;
Use COUNT() with GROUP BY
Here we use theCOUNT() function and theGROUP BY clause, to return the number of records for each category in the Products table:
Example
FROM Products
GROUP BY CategoryID;
You will learn more about theGROUP BY clause later in this tutorial.

