"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como excluir linhas duplicadas mantendo o envio mais antigo?

Como excluir linhas duplicadas mantendo o envio mais antigo?

Publicado em 2024-11-08
Navegar:802

 How to Delete Duplicate Rows While Keeping the Oldest Submission?

Gerenciando linhas duplicadas: preservando os envios mais antigos

Dados duplicados podem impactar significativamente a integridade e a usabilidade de qualquer banco de dados. Neste cenário, nosso objetivo é eliminar linhas duplicadas com base no campo subscriberEmail, mantendo apenas o envio original.

Para conseguir isso sem recorrer a técnicas de troca de tabelas, podemos empregar a seguinte consulta SQL:

delete x 
from myTable x
join myTable z on x.subscriberEmail = z.subscriberEmail
where x.id > z.id

Esta consulta usa o poder do alias de tabela. Ao criar os aliases x e z para a tabela myTable, podemos comparar as linhas da mesma tabela. Especificamente, juntamos x e z no campo subscriberEmail, criando efetivamente uma auto-junção.

A cláusula where realiza a filtragem crucial. Elimina registros em x onde o campo id é maior que o campo id correspondente em z. Isso garante que apenas envios não originais (duplicados) sejam direcionados para exclusão.

Para melhorar ainda mais o desempenho, considere implementar um índice UNIQUE na coluna subscriberEmail. Isso impedirá automaticamente que entradas duplicadas sejam inseridas em sua tabela no futuro.

Ao implementar esta consulta, você pode remover com eficiência linhas duplicadas, preservando o envio mais antigo para cada endereço de e-mail sem a necessidade de manipulações complexas de tabela ou procedimentos de embaralhamento de dados.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3