Zal alle records retourneren die dups hebben:
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
Ik vind de subquery leuk, omdat ik dingen kan doen zoals alles selecteren behalve de eerste of de laatste. (heel gemakkelijk om dan in een verwijderquery te veranderen).
Voorbeeld:selecteer alle dubbele records BEHALVE degene met de maximale ID:
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