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

MySQL में डुप्लीकेट कैसे खोजें

डुप्लिकेट वाले सभी रिकॉर्ड लौटाएंगे:

SELECT theTable.*
FROM theTable
INNER JOIN (
  SELECT link, size
  FROM theTable 
  GROUP BY link, size
  HAVING count(ID) > 1
) dups ON theTable.link = dups.link AND theTable.size = dups.size

मुझे सबक्वायरी बी/सी पसंद है मैं पहले या आखिरी को छोड़कर सभी चीजें चुन सकता हूं। (तब डिलीट क्वेरी में बदलना बहुत आसान है)।

उदाहरण:अधिकतम आईडी वाले रिकॉर्ड को छोड़कर सभी डुप्लिकेट रिकॉर्ड चुनें:

SELECT theTable.*
FROM theTable
INNER JOIN (
  SELECT link, size, max(ID) as maxID
  FROM theTable 
  GROUP BY link, size
  HAVING count(ID) > 1
) dups ON theTable.link = dups.link 
          AND theTable.size = dups.size 
          AND theTable.ID <> dups.maxID


  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. GROUP_CONCAT('column x') मान वापस करने के लिए php का उपयोग करना

  3. MySQl त्रुटि #1064

  4. क्या टेबल फ़ील्ड में हाइफ़न हो सकता है?

  5. MySQL त्रुटि 1046 (3D000):अद्यतन क्वेरी पर कोई डेटाबेस चयनित नहीं है