MySQL Distinct Clause

MySQL Distinct Clause

MySQL DISTINCT clause is used to remove duplicate records from the table and fetch only the unique records. The DISTINCT clause is only used with the SELECT statement.


  1. SELECT DISTINCT expressions
  2. FROM tables
  3. [WHERE conditions];


expressions: specify the columns or calculations that you want to retrieve.

tables: specify the name of the tables from where you retrieve records. There must be at least one table listed in the FROM clause.

WHERE conditions: It is optional. It specifies the conditions that must be met for the records to be selected.


  • If you put only one expression in the DISTINCT clause, the query will return the unique values for that expression.
  • If you put more than one expression in the DISTINCT clause, the query will retrieve unique combinations for the expressions listed.
  • In MySQL, the DISTINCT clause doesn’t ignore NULL values. So if you are using the DISTINCT clause in your SQL statement, your result set will include NULL as a distinct value.

MySQL DISTINCT Clause with single expression

If you use a single expression then the MySQL DISTINCT clause will return a single field with unique records (no duplicate record).

See the table:



Use the following query:

  1. SELECT DISTINCT address
  2. FROM officers;


MySQL DISTINCT Clause with multiple expressions

If you use multiple expressions with DISTINCT Clause then MySQL DISTINCT clause will remove duplicates from more than one field in your SELECT statement.

Use the following query:

  1. SELECT DISTINCT officer_name, address
  2. FROM officers;