Ja, forudsat at du har et unikt ID-felt, kan du slette alle poster, der er ens bortset fra ID'et, men som ikke har "minimums-ID" for deres gruppe af værdier.
Eksempelforespørgsel:
DELETE FROM Table
WHERE ID NOT IN
(
SELECT MIN(ID)
FROM Table
GROUP BY Field1, Field2, Field3, ...
)
Bemærkninger:
- Jeg valgte frit "Tabel" og "ID" som repræsentative navne
- Listen over felter ("Felt1, Felt2, ...") skal indeholde alle felter undtagen ID'et
- Dette kan være en langsom forespørgsel afhængigt af antallet af felter og rækker, men jeg forventer, at det ville være okay sammenlignet med alternativer
EDIT:Hvis du ikke har et unikt indeks, er min anbefaling blot at tilføje et automatisk trinvis unikt indeks. Hovedsageligt fordi det er et godt design, men også fordi det giver dig mulighed for at køre forespørgslen ovenfor.