Posso excluir duplicatas de banco de dados com base em várias colunas?
I fez esta pergunta um tempo atrás para excluir registros duplicados com base em uma coluna. A resposta funcionou bem:
delete from tbl
where id NOT in
(
select min(id)
from tbl
group by sourceid
)
Agora tenho uma situação similar, mas a definição de registro duplicado é baseada em várias colunas. Como posso alterar isso acima do SQL para identificar registros duplicados em que um registro único é definido como concatenado de Col1 + Col2 + Col3. Eu faria algo assim?
delete from tbl
where id NOT in
(
select min(id)
from tbl
group by col1, col2, col3
)