How to use MySQL DISTINCT clause on multiple columns?

MySQLMySQLi Database

We can use the DISTINCT clause on more than columns in MySQL. In this case, the uniqueness of rows in the result set would depend on the combination of all columns.

Example

Consider the following table ‘testing’ having 10 rows −

mysql> select * from testing;
+------+---------+---------+
| id   | fname   | Lname   |
+------+---------+---------+
|  200 | Raman   | Kumar   |
|  201 | Sahil   | Bhalla  |
|  202 | Gaurav  | NULL    |
|  203 | Aarav   | NULL    |
|  204 | Harshit | Khurana |
|  205 | Rahul   | NULL    |
|  206 | Piyush  | Kohli   |
|  207 | Lovkesh | NULL    |
|  208 | Gaurav  | Kumar   |
|  209 | Raman   | Kumar   |
+------+---------+---------+
10 rows in set (0.00 sec)

Now if we apply the DISTINCT clause on two columns named Fname and Lname then we would get the unique rows based on the combinations of both the columns. It can be observed from the following query −

mysql> Select DISTINCT FNAME,LNAME from testing2;
+---------+---------+
| FNAME   | LNAME   |
+---------+---------+
| Raman   | Kumar   |
| Sahil   | Bhalla  |
| Gaurav  | NULL    |
| Aarav   | NULL    |
| Harshit | Khurana |
| Rahul   | NULL    |
| Piyush  | Kohli   |
| Lovkesh | NULL    |
| Gaurav  | Kumar   |
+---------+---------+
9 rows in set (0.00 sec)

MySQL returns 9 rows as a result set because they are having unique combinations of values from ‘Fname’ and ‘Lname’ columns.

raja
Published on 22-Feb-2018 11:48:00
Advertisements