डुप्लिकेट वाले सभी रिकॉर्ड लौटाएंगे:
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