bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths

Loading lesson path

Learn/SQL/SQL Tutorial
SQL•SQL Tutorial

SQL COUNT() Function

The SQL COUNT() Function

The COUNT() function returns the number of rows that matches a specified criterion.

COUNT() Syntax

SELECT COUNT([DISTINCT] column_name | *) FROM table_name WHERE condition ;

The behavior of COUNT() 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.

Using COUNT(*)

The following SQL uses COUNT(*) , and counts the total number of rows in the "Products" table (will include NULL values):

Example

  SELECT COUNT(*)
FROM Products;

Demo Database

Below is a selection from the Products table used in the examples:

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18.00
2Chang1124 - 12 oz bottles19.00
3Aniseed Syrup1212 - 550 ml bottles10.00
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22.00
5Chef Anton's Gumbo Mix2236 boxes21.35

Using COUNT(column_name)

The COUNT(column_name) counts all non-null values in the specified column.

The following SQL counts all non-null values of the "ProductName" column:

Example

  SELECT COUNT(ProductName)
FROM Products;

Using COUNT(DISTINCT column_name)

You can ignore duplicates by using the DISTINCT keyword.

The COUNT(DISTINCT column_name) counts only the unique, non-null values in the column.

If DISTINCT 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

  SELECT COUNT(DISTINCT Price)
FROM Products;

Add a WHERE Clause

You can add a WHERE clause to specify conditions:

Example

  SELECT COUNT(ProductID)
FROM Products
WHERE Price > 20;

Use an Alias

When using COUNT() , the returned column will not have a name. Use the AS keyword to give the column a descriptive name.

Example

  SELECT COUNT(*) AS [Number of records]
FROM Products;

Use COUNT() with GROUP BY

Here we use the COUNT() function and the GROUP BY clause, to return the number of records for EACH category in the "Products" table:

Example

  SELECT COUNT(*) AS [Number of records], CategoryID
FROM Products
GROUP
  BY CategoryID;

You will learn more about the GROUP BY clause later in this tutorial.

Previous

SQL MAX() Function

Next

SQL SUM() Function