Deletando linhas duplicadas de uma tabela SQL
As vezes acontece de termos registros duplicados, e estes registros podem influenciar de alguma maneira sua aplicação, por mais que você se esforce para garantir que isso não aconteça as vezes pode acontecer, normalmente acontece em casos em que importamos informações de origem externa para uma tabela no banco de dados, um arquivo de texto, uma planilha, etc, neste caso podemos perder a integridade dos dados.
A seguinte query nos ajuda a deletar registros duplicados em uma tabela:
DELETE tabela_a WHERE pk_da_tabela not in (SELECT min(pk_da_tabela) 
FROM tabela_a GROUP BY coluna1, coluna2);

Na manipulação de dados acima,  a sub-consulta deve ser agrupada por chaves unica (unique key) ou primaria (primary key)  da tabela. Neste caso a coluna1 e coluna2.

Referencia: http://www.devx.com

Advertisements