Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

MySQL trả về gì khi dùng DISTINCT trên cột có nhiều giá trị NULL?

Khi dùng mệnh đề DISTINCT trên cột có nhiều giá trị NULL, MySQL coi tất cả các NULL là giống nhau. Theo tính chất của DISTINCT, MySQL chỉ trả về một giá trị NULL và loại bỏ các cái còn lại. Xem ví dụ bảng testing có nhiều NULL ở cột Lname:

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    |
+-----+---------+----------+
8 rows in set (0.00 sec)

mysql> SELECT DISTINCT Lname from testing;
+---------+
| Lname   |
+---------+
| Kumar   |
| Bhalla  |
| NULL    |
| Khurana |
| Kohli   |
+---------+
5 rows in set (0.00 sec)

Truy vấn trên trả về chỉ một NULL và loại bỏ ba cái còn lại.