Ya, dengan asumsi Anda memiliki bidang ID unik, Anda dapat menghapus semua catatan yang sama kecuali untuk ID, tetapi tidak memiliki "ID minimum" untuk grup nilainya.
Contoh kueri:
DELETE FROM Table
WHERE ID NOT IN
(
SELECT MIN(ID)
FROM Table
GROUP BY Field1, Field2, Field3, ...
)
Catatan:
- Saya bebas memilih "Tabel" dan "ID" sebagai nama perwakilan
- Daftar bidang ("Bidang1, Bidang2, ...") harus mencakup semua bidang kecuali ID
- Ini mungkin kueri yang lambat tergantung pada jumlah bidang dan baris, namun saya berharap ini akan baik-baik saja dibandingkan dengan alternatif
EDIT:Jika Anda tidak memiliki indeks unik, rekomendasi saya adalah menambahkan indeks unik tambahan otomatis. Terutama karena desainnya bagus, tetapi juga karena memungkinkan Anda menjalankan kueri di atas.