Devdit
 

SQL ดึงข้อมูลที่ไม่ซ้ำกันจากตาราง ฐานข้อมูล MySQL

4.5K

SQL ดึงข้อมูลที่ไม่ซ้ำกันจากตาราง ฐานข้อมูล MySQL บทความนี้สอนเขียนคำสั่ง SQL โดยใช้คำสั่ง GROUP BY ร่วมกับ HAVING เพื่อดึงข้อมูลที่ไม่ซ้ำกันจากตาราง ฐานข้อมูล MySQL สามารถเขียนคำสั่งได้ดังนี้

 

ตัวอย่าง ข้อมูลภายในตาราง test

+----+------+
| id | name |
+----+------+
|  1 | A    |
|  2 | B    |
|  3 | C    |
|  4 | A    |
|  5 | A    |
|  6 | C    |
+----+------+

 

ตัวอย่าง SQL ดึงข้อมูลที่ไม่ซ้ำกันจากตาราง ฐานข้อมูล MySQL

SELECT * FROM test GROUP BY name HAVING COUNT(name) = 1;

ผลลัพธ์

+----+------+
| id | name |
+----+------+
|  2 | B    |
+----+------+
1 row in set (0.000 sec)

คำอธิบาย

SQL ดึงข้อมูลที่ไม่ซ้ำกันจากตาราง โดยมีรายละเอียดการเขียนคำสั่ง SQL ดังนี้

1. SELECT * FROM test คือ แสดงข้อมูลทั้งหมดจากตาราง test โดยแสดงข้อมูลทุก columns

2. GROUP BY name คือ รวมข้อมูลที่เหมือนกันของ column name ให้เหลือ column เดียว

3. HAVING COUNT(name) = 1 คือ เงื่อนไขดึงข้อมูลที่ไม่ซ้ำกัน โดยใช้คำสั่ง COUNT นับ column name ถ้ามีค่าเท่ากับ 1 แปลว่าไม่ซ้ำ (ถ้าซ้ำข้อมูลจะมากกว่า 1)

แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ