Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक MySQL तालिका से डुप्लिकेट पंक्तियों को कैसे हटाएं

DELETE DupRows.*
FROM MyTable AS DupRows
   INNER JOIN (
      SELECT MIN(ID) AS minId, col1, col2
      FROM MyTable
      GROUP BY col1, col2
      HAVING COUNT(*) > 1
   ) AS SaveRows ON SaveRows.col1 = DupRows.col1 AND SaveRows.col2 = DupRows.col2
      AND SaveRows.minId <> DupRows.ID;

बेशक आपको col1, col2 को तीनों स्थानों पर सभी कॉलमों में विस्तारित करना होगा।

संपादित करें:मैंने अभी इसे एक स्क्रिप्ट से निकाला है जिसे मैं रखता हूं और फिर से परीक्षण करता हूं, यह MySQL में निष्पादित होता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql सर्वर पोर्ट नंबर

  2. MySQL - समय का योग कैसे करें?

  3. सभी UTF8 कैरेक्टर को इसके सबसे मानक प्रारूप में सामान्य करें

  4. डेटाबेस से समान देशांतर और अक्षांश प्राप्त करना

  5. एक चर के लिए थोड़ी देर के लूप द्वारा उत्पन्न एक्सएमएल असाइन करना