What is DISTINCT clause in MySQL?

The DISTINCT clause in MySQL is used to fetch the unique records from the table. The DISTINCT is used with the SELECT statement and removes the duplicate records from the recordset.

How to use DISTINCT clause

The simple syntax for using the MySQL DISTINCT clause is:

So, you may specify one or more columns in the DISTINCT clause for removing duplicate records. I will show you examples of using one or more columns below.

An example of DISTINCT with single column

For showing how DISTINCT clause works, we have an employee table that contains information like employee name, age, salary and joining date. For the demo, I entered duplicate employee names while other information may vary.

For the one column DISTINCT query, I used employee name column for returning the unique names as follows:

Query:

The result:

MySQL DISTINCT

You can see, the first query result shows seven records that include two records of the employee names Mike. The second query returns six records, omitting the second occurrence of name Mike.

The example of using two columns

The example below shows using two columns in the SELECT-DISTINCT query. I am using the employee_name and employee_age columns that exist in the employee’s table as follows:

The query:

Result-set

MySQL DISTINCT two

This time, although the name exists twice for employee name ‘Mike’, however, the age is different for both. That is why the DISTINCT query returned seven records as I also included the age column in this query along with the name.

Using COUNT function with DISTINCT clause example

In this example, we will get the total number of employees in the employee table along with unique employee names by using the MySQL COUNT with the DISTINCT clause.

Note: The COUNT function returns the total count of rows for the specified column(s). You may use it with the simple column as well as the aggregated data.

Two queries:

And

MySQL DISTINCT COUNT