Czy mogę usunąć duplikaty bazy danych na podstawie wielu kolumn?
I zadałem to pytanie jakiś czas temu usunąć duplikaty rekordów na podstawie kolumny. Odpowiedź zadziałała świetnie:
delete from tbl
where id NOT in
(
select min(id)
from tbl
group by sourceid
)
Mam teraz podobną sytuację, ale definicja zduplikowanego rekordu opiera się na wielu kolumnach. Jak mogę zmienić powyższy kod SQL, aby zidentyfikować zduplikowane rekordy, w których unikalny rekord jest zdefiniowany jako konkatenowany z Col1 + Col2 + Col3. Czy zrobiłbym coś takiego?
delete from tbl
where id NOT in
(
select min(id)
from tbl
group by col1, col2, col3
)