อีกหนึ่งวิธีในการกำจัดข้อมูลที่ซ้ำซ้อนกันในตาราง
ถ้าคุณมีตารางข้อมูลอยู่ และรู้ว่ามีบางแถวที่มีข้อมูลซ้ำซ้อนกัน ทางไหนเป็นวิธีที่ดีที่จะสามารถหาและกำจัดแถวที่มีข้อมูลซ้ำนี้ออกไปจากตารางของฐานข้อมูล Oracle ? อีกวิธีหนึ่งที่เป็นไปได้ในการกำจัดแถวที่ซ้ำซ้อนกันคือการใช้คำสั่ง select distinct และใส่ข้อมูลที่ได้ลงในตารางใหม่ จากที่เราสามารถตรวจสอบหาข้อมูลแถวที่มีข้อมูลซ้ำซ้อนกันได้โดยใช้คำสั่ง select ดังนี้ SQL> select a,b,count(*) from test group by a,b; ผลลัพธ์ที่ได้ A B COUNT(*) ———- ———- ———- 1 2 259 2 2 5 3 0 1 จากตัวอย่างในตาราง test นี้ที่กำหนดไว้ว่าค่าในคอลัมภ์ a และ b จะต้องมีค่าไม่ซ้ำ ซึ่งผลลัพธ์ที่ปรากฏคือ มีข้อมูลซ้ำ 258 แถว และ 4 แถว เรามาเริ่มต้นกำจัดข้อมูลซ้ำซ้อนอีกวิธีกันเลย การหาแถวข้อมูลที่ไม่ซ้ำซ้อนกัน เราสามารถหาข้อมูลที่ไม่ซ้ำซ้อนกันได้โดยใช้คำสั่ง select distinct ดังนี้ SQL> select distinct * from test; ผลลัพธ์ที่ได้ A B ———- ———- 1 2 2 2 3 0 สร้างตารางใหม่ชั่วคราวเพื่อเก็บผลลัพธ์ที่ได้ SQL> create table new_test as (select distinct * from test); ตรวจสอบผลลัพธ์ที่ได้ในตารางชั่วคราวนี้ SQL> select * from new_test; ผลลัพธ์ที่ได้ A B ———- ———- 1 2 2