The COUNT DISTINCT function is one of the most helpful tools for obtaining precise results. The function enables one to get unique and non-duplicate values in a column of the database table. 

Where the traditional COUNT () function provides a sum of all occurrences, COUNT DISTINCT scores the specific importance of how UNIQUE they are. 

Let's learn and discuss the fundamental functionalities of COUNT DISTINCT and its syntax, followed by illustrations to depict how immunization in datasets can be achieved to give particular counts. 

What is Count() with Distinct?

COUNT DISTINCT refers to an aggregate function that points to the unique, repeated values in one single column of a data table. Unlike the regular type of COUNT function, which counts the number of all recurrences, COUNT DISTINCT only considers distinct values. It's a handy tool for getting precise counts and insights from your data, especially when dealing with datasets that might contain duplicate entries. The syntax is quite simple:

SELECT COUNT(DISTINCT column_name) FROM table_name;

This simple query provides you with the frequency of unique values in the respective column of the passed table. It's a very useful feature in SQL for tasks like finding the number of different categories, unique customers, or distinct items in your dataset.

Example 1: Basic Usage

Let's consider a practical example of the basic usage of COUNT DISTINCT. 

  • Suppose we have a table named 'employees' with a column called 'department.' This column provides information about each employee's specific department.
  • Through the COUNT DISTINCT function, we can determine how many distinct departments are among the employee's table.

SELECT COUNT(DISTINCT department) FROM employees;

In this query:

  • COUNT(DISTINCT department) counts the number of unique values in a given column, which is department.
  • FROM employees specifies that we are looking at the employee's table.

The result of this query will provide the count of distinct departments in the employee's table. This basic usage helps us quickly understand the variety and number of different departments within our dataset.

Example 2: Multiple Columns

Let's explore an example demonstrating the usage of COUNT DISTINCT with multiple columns.

  • Consider a table named orders with two columns: customer_id and product_id. This table logs customer orders, and we want to know how many unique combinations of customers and products are represented.
  • The SQL query using COUNT DISTINCT for this scenario would be:

SELECT COUNT(DISTINCT customer_id, product_id) FROM orders;

  • In this query:

The COUNT(DISTINCT customer_id, product_id) reflects the count value of unique figures that constitute customers' and products' identifiers.

  • FROM orders specifies that we are working with the orders table.

Using COUNT DISTINCT with multiple columns, we can get a precise count of unique pairs of customers and products in our orders table. This can be valuable for understanding the diversity of customer-product interactions within the dataset.

Example 3: Handling NULL Values

Let's look into an example that illustrates how COUNT DISTINCT handles NULL values.

  • Suppose we have a table named 'products' with a column called 'price.' This column contains information about the prices of various products, and some entries might have NULL values.
  • To count the distinct non-NULL prices in the products table, we can use the following SQL query:


  • In this query:

COUNT(DISTINCT price) counts the number of unique, non-NULL values in the price column.

  • FROM products specifies that we are working with the products table.
  • Where the price is not NULL, it filters out rows where the price is NULL.

This query helps us get an accurate count of unique prices in the products table while excluding entries with NULL values. This example showcases how COUNT DISTINCT handles NULL values, ensuring that only non-NULL values contribute to the count.


COUNT DISTINCT is a standout tool in SQL, a command that excels at counting unique values within a specific column of a database. Its ability to provide precise counts adds significant value to data analysis tasks. Unlike regular counting, it only considers distinct entries, providing more accurate insights. 

Whether you're counting unique departments, customer-product pairs, or handling NULL values, COUNT DISTINCT helps keep your data analysis precise and easy to understand. Its simplicity and focus on uniqueness make it a valuable function for anyone working with databases, enabling a clearer understanding of the distinct elements in your datasets.

Level up your SQL skills with Simplilearn!

Discover SQL inside out with Simplilearn's Business Analyst Master's Program. Get certified and launch your career in data analytics. Simplilearn is your go-to for making your mark in the world of SQL and data analytics.

Your career upgrade is just a click away!

FAQs about Count Distinct SQL

1. How does COUNT DISTINCT differ from COUNT?

COUNT DISTINCT and COUNT both deal with counting, but their focus is different. Simultaneously, COUNT tallies every instance of values in a column, even duplicates, while COUNT DISTINCT focuses solely on unique values. To put it simply, COUNT gives you the overall headcount, whereas COUNT DISTINCT provides the count of distinct, unique entries.

2. Can COUNT DISTINCT be used with multiple columns?

Absolutely! COUNT DISTINCT is versatile; it allows you to count unique combinations across multiple columns. This proves useful when you aim to identify the number of distinct pairs or sets of values present across various columns.

3. Is COUNT DISTINCT efficient with large datasets?

In general, COUNT DISTINCT is efficient, but the size of your dataset can influence its performance. When dealing with large datasets, it's a good idea to ensure relevant columns are properly indexed to maintain efficiency.

4. How does COUNT DISTINCT handle NULL values?

COUNT DISTINCT handles NULL values with ease. It exclusively counts distinct non-NULL values, ensuring no duplicates with NULLs. If you prefer excluding NULLs from the count, add a condition like WHERE column_name IS NOT NULL in your query. 

5. Can you use COUNT DISTINCT with GROUP BY?

Absolutely! Combining COUNT DISTINCT with GROUP BY allows you to get unique counts within specific groups. It is suitable for more detailed and organized data analysis, giving you unique counts for each group.

Our Business And Leadership Courses Duration And Fees

Business And Leadership Courses typically range from a few weeks to several months, with fees varying based on program and institution.

Program NameDurationFees
Product Management Professional Program

Cohort Starts: 27 Apr, 2024

8 Months$ 5,000
Caltech - UI UX Bootcamp

Cohort Starts: 2 May, 2024

5 Months$ 4,500
Post Graduate Program in Business Analysis

Cohort Starts: 15 May, 2024

6 Months$ 3,499
Business Analyst11 Months$ 1,449