ในการทำงานเกี่ยวกับฐานข้อมูลก็มักจะมีโอกาสเกิดปัญหาข้อมูลซ้ำซ้อนกันในตารางภายในฐานข้อมูล กันเรียก ข้อมูลซ้ำซ้อน Duplicate record ที่นี้เนื่องจากการที่ข้อมูลจำนวนมากจนเกินไปจนไม่สามารถตรวจสอบด้วยตาเปล่าด้วย เราจึงจำเป็นต้องใช้คำสั่ง SQL เพื่อดึงข้อมูลที่ซ้ำกันมาแสดง
วิธีเขียนคำสั่ง SQL Query แสดงข้อมูลที่ซ้ำกัน Record ซ้ำใน Database
หนึ่งอย่างที่มักจะเป็นปัญหาที่เจอซ้ำกันบ่อย ๆ นั้นคือเลขบัตรประชาชน หรือ เลขรหัสสินค้า ดังนั้นวันนี้เราจะมาเขียนคำสั่ง SQL ตัวอย่าง หาข้อมูลเลขบัตรประชาชนซ้ำกันในฐานข้อมูล รูปแบบคำสั่ง
SELECT *, COUNT(ชื่อ Column ที่ใช้เป็นเงื่อนไข) as count
FROM ชื่อตาราง
GROUP BY ชื่อ Column ที่ใช้เป็นเงื่อนไข Having COUNT(ชื่อ Column ที่ใช้เป็นเงื่อนไข) > 1
ส่วนตัวอย่างการใช้งานก็สามารถเขียนได้แบบนี้
SELECT *, COUNT(CITIZEN_ID) as count
FROM STUDENT
GROUP BY CITIZEN_ID Having COUNT(CITIZEN_ID) > 1
คำอธิบาย
เราจะใช้คำสั่ง GROUP BY และ HAVING เพื่อใช้ในการนับจำนวนในคำสั่ง SQL
GROUP BY [Column name] คือ รวมข้อมูลจาก column name ที่ซ้ำกันให้เหลือ column เดียว เช่น CITIZEN_ID ซ้ำกัน 2 ข้อมูล แต่เมื่อ Group แล้วก็จะแสดง CITIZEN_ID แค่ Record เดียว
HAVING COUNT([Column name]) > 1 คือ กำหนดเงื่อนไขให้แสดงเฉพาะข้อมูลที่ซ้ำ โดยการนับ column name ที่มีจำนวนมากกว่า 1 Record
บทความอื่น ๆ ที่เกี่ยวข้องกับ คำสั่ง SQL
- COUNT IF และ SUM IF MySQL นับข้อมูลหลายเงื่อนไขพร้อมกัน
- SQL COUNT นับจำนวนข้อมูลตามช่วงเวลา แบบปกติและหลายเงื่อนไข
- คําสั่ง SQL นับ/แสดง ข้อมูลแบบไม่ซ้ำกัน ด้วย DISTINCT
- คําสั่ง SQL ดึงข้อมูลที่ซ้ำกัน Query duplicate data database
- ฐานข้อมูล จังหวัด อําเภอ ตําบล รหัสไปรษณีย์ อัพเดท 2023 พร้อมตัวอย่างคำสั่ง SQL
เป็นยังไงกันบ้างคะ ไม่ยากเลยใช่ไหมละกับวิธีเขียนคำสั่ง SQL Query ดึงข้อมูลไม่ซ้ำ record ซ้ำ หรือเรียกว่า Duplicate record ก็ได้คะ ดูเพลินก็หวังว่าบทความของเราจะเป็นประโยชน์ต่อท่านไม่มากก็น้อย นอกจากนี้ เรายังมีบทความดี ๆ อีกมากมาย คุณสามารถลองคลิกเขาไปอ่านบทความอื่น ๆ ตามลิงค์ด้านล่างได้เลย