Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีกรองแถวซ้ำ (Distinct Rows) ในผลลัพธ์ MySQL

ใช้คีย์เวิร์ด DISTINCT ใน SELECT จะกรองแถวที่ซ้ำกันทั้งแถว (ทุกคอลัมน์ที่ SELECT):

ตัวอย่าง

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   |
+------+---------+---------+-----------+

mysql> SELECT DISTINCT Address FROM student;
+---------+
| Address |
+---------+
| Delhi   |
| Mumbai  |
| Shimla  |
| Jaipur  |
+---------+

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   |
+------+---------+---------+-----------+

mysql> SELECT DISTINCT Name FROM student;
+---------+
| Name    |
+---------+
| Gaurav  |
| Aarav   |
| Harshit |
| Raman   |
+---------+

DISTINCT ใช้กับการรวมคอลัมน์ที่ SELECT ทั้งหมด