หน้าแรก www.oracleskill.com ข่าวความเคลื่อนไหว oracle และ oracleskill.com ความรู้ เทคนิค oracle บทความ oracle คัดสรรจากต่างประเทศ คอร์สเรียน Oracleและ บริการ ประวัติ ความเป็นมา เพิ่มพูนทักษะในการหางาน IT Oracle Webboard แลกเปลี่ยนความรู้  
 
 

 

เร

Google
 
 

เทคนิคกำจัดแถวที่ซ้ำกันในตารางออกไป

(Remove duplicate rows from table)

 
 
  หลายครั้ง ที่เราสร้างตาราง โดยไม่มี constraint เช่น Primary Key , Unique Key แล้วในตารางนั้น เราโหลด ข้อมูลใส่เข้าไปแล้ว ต่อมาเราจะสร้าง constraint พวก primary key ไปผูก แต่ปรากฏว่า ไม่สามารถ enable ขึ้นมาได้ เนื่องจาก ในตารางมีแถวที่ข้อมูลซ้ำกัน อาจเพราะโหลดข้อมูลเข้าไปเบิ้ลซ้ำกัน หรือ ด้วยสาเหตุอะ ไรก็แล้วแต่  
  วิธีนี้ จะช่วยกำจัดแถว ที่ข้อมูลซ้ำกันหลายแถวออกไป ให้เหลือเพียงแค่แถวเดียว  
     
  1. สร้างตารางขึ้นมาสำหรับทดสอบ  
  สร้างตารางขึ้นมาทดสอบ  
  2. ใส่ข้อมูลที่ซ้ำกันลงไป สัก 2 ชุด  
 

ใส่ข้อมูลที่ซ้ำกัน

ใส่ข้อมูลที่ซ้ำกัน

 
  3. จะเห็นว่า เรามีข้อมูลที่ซ้ำกันอยู่ เราจะกำจัดแถวที่ซ้ำกัน เพื่อเอา ID เป็น Primary Key  
  ข้อมูลซ้ำ  
 
  4. เขียน SQL ดังนี้  
 
DELETE FROM your_table
WHERE rowid not in ( SELECT MIN(rowid)
FROM your_table
GROUP BY column1, column2, column3...) ;
 
  โดย column1 , column2 , column3 ,.. เป็นคอลัมน์ที่จะเอามาทำเป็น Key  
   
  5. เมื่อดูอีกที จะเห็นว่าแถวที่ซ้ำกันถูกลบไปแล้ว เหลือแต่ตัวแทนของข้อมูลซ้ำแค่แถวเดียว  
  remove dupplicate rows complete  
     
  RELATE LINK :  
     
     
 

 

พบปัญหา website , link เสีย ,แลก link,แสดงความเห็น หรือ ติดต่อเป็นสปอนเซอร์สนับสนุน
email : webmaster@oracleskill.com
 
All Rights Reserved 2007. http://www.oracleskill.com.