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

Cách GROUP BY hoạt động như DISTINCT trong MySQL

Khi dùng GROUP BY trong SELECT không dùng hàm tổng hợp, nó sẽ hoạt động như DISTINCT. Ví dụ bảng testing:

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)

Dùng DISTINCT trên cột Lname:

mysql> select Distinct LNAME from testing;
+---------+
| LNAME   |
+---------+
| Kumar   |
| Bhalla  |
| NULL    |
| Khurana |
| Kohli   |
+---------+
5 rows in set (0.00 sec)

Dùng GROUP BY cho cùng kết quả:

mysql> Select LNAME from testing GROUP BY Lname;
+---------+
| LNAME   |
+---------+
| NULL    |
| Bhalla  |
| Khurana |
| Kohli   |
| Kumar   |
+---------+
5 rows in set (0.04 sec)

Khác biệt: GROUP BY trả về kết quả đã sắp xếp, DISTINCT không sắp xếp.