Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để sử dụng mệnh đề MySQL DISTINCT trên nhiều cột?


Chúng ta có thể sử dụng mệnh đề DISTINCT trên nhiều cột trong MySQL. Trong trường hợp này, tính duy nhất của các hàng trong tập kết quả sẽ phụ thuộc vào sự kết hợp của tất cả các cột.

Ví dụ

Hãy xem xét "thử nghiệm" bảng sau có 10 hàng -

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)

Bây giờ nếu chúng ta áp dụng mệnh đề DISTINCT trên hai cột có tên Fname và Lname thì chúng ta sẽ nhận được các hàng duy nhất dựa trên sự kết hợp của cả hai cột. Nó có thể được quan sát từ truy vấn sau -

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 trả về 9 hàng dưới dạng tập hợp kết quả vì chúng có các kết hợp giá trị duy nhất từ ​​các cột 'Tên' và 'Tên'.