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

Chúng ta có thể sử dụng mệnh đề MySQL GROUP BY với nhiều cột như mệnh đề MySQL DISTINCT được sử dụng không?

Có, có thể sử dụng mệnh đề MySQL GROUP BY với nhiều cột giống như chúng ta có thể sử dụng mệnh đề MySQL DISTINCT. Hãy xem xét ví dụ sau, trong đó chúng tôi đã sử dụng mệnh đề DISTINCT trong truy vấn đầu tiên và mệnh đề GROUP BY trong truy vấn thứ hai, trên các cột ‘fname’ và ‘Lname’ của bảng có tên là ‘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)

mysql> Select DISTINCT FNAME,LNAME from testing;
+---------+---------+
| 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> Select Fname, LNAME from testing GROUP BY Fname,Lname;
+---------+---------+
| Fname   | LNAME   |
+---------+---------+
| Aarav   | NULL    |
| Gaurav  | NULL    |
| Gaurav  | Kumar   |
| Harshit | Khurana |
| Lovkesh | NULL    |
| Piyush  | Kohli   |
| Rahul   | NULL    |
| Raman   | Kumar   |
| Sahil   | Bhalla |
+---------+---------+
9 rows in set (0.00 sec)

Sự khác biệt duy nhất là tập kết quả trả về bởi truy vấn MySQL sử dụng mệnh đề GROUP BY được sắp xếp và ngược lại, tập kết quả trả về bởi truy vấn MySQL sử dụng mệnh đề DISTICT không được sắp xếp.