MySQL SELECT DISTINCT Statement
The MySQL SELECT DISTINCT Statement
The SELECT DISTINCT statement is used to return only distinct (unique) values.
In a table, a column may contain several duplicate values - and sometimes you want to list only the unique values.
The following SQL selects all the distinct (unique) country values from the "Customers" table:
SELECT DISTINCT Syntax
SELECT DISTINCT column1, column2, ...
FROM table_name;Demo Database
Below is a selection from the "Customers" table in the Northwind sample database:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
SELECT Example Without DISTINCT
If you omit the DISTINCT keyword, the SQL statement returns
all the "Country" values from all the records of the "Customers" table:
Count Distinct Values
By using the COUNT() function with the DISTINCT keyword, we can count the number of unique
values.
The following SQL counts the number of unique countries in the "Customers" table:
You will learn more about the COUNT() function later in this tutorial.