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

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

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

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

FROM ชื่อตาราง

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

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

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

ตัวอย่างเช่น

ตัวอย่าง

SELECT MOECODE , COUNT(*) count

FROM tbl_school

GROUP BY MOECODE Having COUNT(*) > 1

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

Related Posts