สอนเขียนคำสั่ง SQL หาค่าซ้ำ ด้วย GROUP BY และ HAVING โดยนำคำสั่ง GROUP BY มาใช้รวมข้อมูลที่เหมือนกันไว้ด้วยกัน และคำสั่ง HAVING ใช้สำหรับกำหนดเงื่อนไขเพื่อหาค่าซ้ำ และแสดงออกสู่หน้าจอ สามารถเขียนคำสั่งได้ดังนี้
ตัวอย่าง ข้อมูลเริ่มต้นมีข้อมูลที่ซ้ำ คือ 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 );
ผลลัพธ์
+------+
| name |
+------+
| Java |
| SQL |
+------+
2 rows in set (0.001 sec)
คำสั่งด้านบน GROUP BY column name เพื่อรวมข้อมูลซ้ำไว้ด้วยกัน และใช้คำสั่ง HAVING กำหนดเงื่อนไข คือ ( count(name) > 1 ) หมายความว่าถ้านับข้อมูลของ column name และมีค่ามากว่า 1 ก็คือข้อมูลซ้ำ ให้แสดงข้อมูลดังกล่าวออกสู่หน้าจอ เพราะปกติถ้าข้อมูลไม่ซ้ำเมื่อนับแล้วก็จะมีเพียงแค่ค่าเดียว คือ 1 เท่านั้น