Devdit
 

SQL หาค่าไม่ซ้ำ ด้วย GROUP BY และ HAVING

2.6K

สอนเขียนคำสั่ง SQL หาค่าไม่ซ้ำ โดยใช้คำสั่ง GROUP BY เพื่อรวมข้อมูลที่เหมือนกันเข้าด้วยกัน และ HAVING ใช้สำหรับกำหนดเงื่อนไขในการแสดงผล โดยตัวอย่างจะใช้คำสั่ง COUNT เพื่อหาค่าไม่ซ้ำ และแสดงผลลัพธ์ออกสู่หน้าจอ สามารถเขียนคำสั่งได้ดังนี้

 

ตัวอย่าง ข้อมูลเริ่มต้นมีข้อมูลที่ซ้ำ คือ SQL และ Java

+------------+
| name       |
+------------+
| Java       |
| PHP        |
| MySQL      |
| SQL        |
| Linux      |
| SQL Server |
| Windows    |
| Javascript |
| SQL        |
| Java       |
+------------+

 

ตัวอย่าง SQL หาค่าไม่ซ้ำ ด้วย GROUP BY และ HAVING

SELECT name FROM book GROUP BY name HAVING ( COUNT(name) = 1 ) ORDER BY id ASC;

ผลลัพธ์

+------------+
| name       |
+------------+
| PHP        |
| MySQL      |
| Linux      |
| SQL Server |
| Windows    |
| Javascript |
+------------+
6 rows in set (0.001 sec)

คำอธิบาย

แสดงข้อมูลจากตาราง book โดยใช้คำสั่ง GROUP BY name เพื่อรวมข้อมูล name ที่ซ้ำเข้าด้วยกัน พร้อมกับใช้คำสั่ง HAVING ( COUNT(name) = 1 ) กรณีถ้าข้อมูลซ้ำการ COUNT จะได้ค่ามากว่า 1 จากเงื่อนไขคือ 1 แปลว่าแสดงเฉพาะข้อมูลที่ไม่ซ้ำออกสู่หน้าจอ

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