Get Adobe Flash player

การตรวจสอบ record ซ้ำในตารางด้วย SQL Command

ในการทำฐานข้อมูล มักประกอบด้วยข้อมูลจำนวนมากมายมหาศาล บางครั้งอาจมีจำนวนที่มากเกินกว่าที่คนเราจะสามารถตรวจสอบข้อผิดพลาดด้วยตาเปล่าได้ และหนึ่งในปัญหาที่พบเห็นได้บ่อยก็คือ การมีข้อมูลซ้ำ ที่จะทำให้เกิดความซ้ำซ้อนของข้อมูล และสามารถส่งผลกระทบต่อการ select ข้อมูลที่อาจก่อให้เกิดความผิดพลาดได้ ดังนั้นการตรวจสอบ record จึงมีความจำเป็นต่องานบางประเภท

ในการเขียนโค้ด SQL ที่เพื่อนับจำนวน record ซ้ำ จะใช้คำสั่งดังนี้

SELECT ชื่อcolที่ใช้เป็นเงื่อนไข , COUNT(*) count

FROM ชื่อตาราง

GROUP BY ชื่อcolที่ใช้เป็นเงื่อนไข Having COUNT(*) > 1

ชื่อcolที่ใช้เป็นเงื่อนไข ในที่นี้จะหมายถึง column ที่เราเลือกที่จะใช้เป็นตัวหลักในการตรวจสอบค่าซ้ำในแต่ละ record
ควรจะเลือก column ที่ไม่ควรมีค่าซ้ำหรือ primary key

เช่น ในฐานข้อมูลบุคคล column ที่สมควรจะเลือกใช้ในการตรวจสอบก็จะเป็น column จำพวกบัตรประชาชน เลขประจำตัว ซึ่งมักจะเป็นเลขเฉพาะที่ใช้ระบุถึงแต่ละคน ทำให้ง่ายต่อการตรวจสอบค่าซ้ำ

ตัวอย่าง

SELECT CITIZEN_ID , COUNT(*) count

FROM EMPLOYEE

GROUP BY [CITIZEN_ID] Having COUNT(*) > 1

เมื่อพิมพ์คำสั่งและกด query คำสั่ง โปรแกรมจะนับจำนวน record ที่มีค่า CITIZEN_ID มากกว่า 1 record ขึ้นมาแสดง

Leave a Reply

Your email address will not be published. Required fields are marked *