Requête SQL pour supprimer les doublons dans une table

Publié le 21 novembre 2008 par Avi Teboul

J'ai souvent cherché cette requête alors je la poste ici comme mémo personnel, et je suis certain qu'elle servira à quelqu'un ...

La solution proposée ici consiste à dupliquer votre table afin de définir un point de comparaison et de lancer la requête qui suit ...

Avant toute chose pensez à corriger la requête avec le nom de vos champs !!

<Table_originale>

<Table_dupliquée>

<champs_a_comparer>

Inutile de préciser a quoi correspondent ces valeurs ...

DELETE FROM <Table_originale>
WHERE <Table_originale>.id NOT IN (select min(Save_AlerteInscriptionClub.id)
FROM <Table_dupliquée> WHERE <Table_originale>.email=<Table_dupliquée>.<champs_a_comparer>
GROUP BY  <Table_dupliquée>.<champs_a_comparer>)

PS : La requête est extrêmement lourde à l'exécution alors lancez-la de préférence la nuit quand le serveur est moins sollicité.

Bonus :

Les dernieres videos de buzz

Voir les dernieres videos