bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
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

This chapter

Overview
46

Lessons

115m

Read time

1. SQL Tutorial2. Introduction to SQL3. SQL Syntax4. SQL SELECT Statement5. SQL SELECT DISTINCT Statement6. SQL WHERE Clause7. SQL ORDER BY Keyword8. SQL AND Operator9. SQL OR Operator10. SQL NOT Operator11. SQL INSERT INTO Statement12. SQL NULL Values13. SQL UPDATE Statement14. SQL DELETE Statement15. SQL SELECT TOP, LIMIT and FETCH FIRST16. SQL Aggregate Functions17. SQL MIN() F unction18. SQL MAX() Function19. SQL COUNT() Function20. SQL SUM() Function21. SQL AVG() Function22. SQL LIKE Operator23. SQL Wildcards24. SQL IN Operator25. SQL BETWEEN Operator26. SQL Aliases27. SQL Joins28. SQL INNER JOIN29. SQL LEFT JOIN30. SQL RIGHT JOIN31. SQL FULL JOIN32. SQL Self Join33. SQL UNION Operator34. SQL UNION ALL Operator35. SQL GROUP BY Statement36. SQL HAVING Clause37. SQL EXISTS Operator38. SQL ANY Operator39. SQL ALL Operator40. SQL SELECT INTO Statement41. SQL INSERT INTO SELECT Statement42. SQL CASE Expression43. SQL NULL Functions44. SQL Stored Procedures45. SQL Comments46. SQL Operators

On this page

The SQL COUNT() FunctionCOUNT() SyntaxUsing COUNT(*)Demo DatabaseUsing COUNT(column_name)Using COUNT(DISTINCT column_name)Add a WHERE ClauseUse an AliasUse COUNT() with GROUP BY