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

Cách loại bỏ hàng trùng lặp trong kết quả truy vấn MySQL

Dùng từ khóa DISTINCT trong mệnh đề SELECT để lọc trùng lặp. DISTINCT áp dụng cho tổ hợp tất cả cột được chọn.

Ví dụ

Bảng Student:

mysql> SELECT * FROM student;
+------+---------+---------+-----------+
| Id   | Name    | Address | Subject   |
+------+---------+---------+-----------+
| 1    | Gaurav  | Delhi   | Computers |
| 2    | Aarav   | Mumbai  | History   |
| 15   | Harshit | Delhi   | Commerce  |
| 17   | Raman   | Shimla  | Computers |
| 20   | Gaurav  | Jaipur  | History   |
+------+---------+---------+-----------+
5 rows in set (0.00 sec)

Lấy địa chỉ duy nhất:

mysql> SELECT DISTINCT Address FROM student;
+---------+
| Address |
+---------+
| Delhi   |
| Mumbai  |
| Shimla  |
| Jaipur  |
+---------+
4 rows in set (0.00 sec)

Lấy toàn bộ hàng duy nhất (tổ hợp tất cả cột):

mysql> SELECT DISTINCT * FROM student;
+------+---------+---------+-----------+
| Id   | Name    | Address | Subject   |
+------+---------+---------+-----------+
| 1    | Gaurav  | Delhi   | Computers |
| 2    | Aarav   | Mumbai  | History   |
| 15   | Harshit | Delhi   | Commerce  |
| 17   | Raman   | Shimla  | Computers |
| 20   | Gaurav  | Jaipur  | History   |
+------+---------+---------+-----------+
5 rows in set (0.00 sec)

Lấy tên duy nhất:

mysql> SELECT DISTINCT name FROM student;
+---------+
| name    |
+---------+
| Gaurav  |
| Aarav   |
| Harshit |
| Raman   |
+---------+
4 rows in set (0.00 sec)

Gaurav xuất hiện 2 lần nhưng chỉ hiển thị 1 lần nhờ DISTINCT.