Bonjour,
Je suis face à une requête probablement assez simple mais je n'arrive pas à l'écrire.
J'ai une table contenant une liste d'adresses e-mails avec une date de création.
Malheureusement je n'avais pas mis de contrainte d'unicité sur l'e-mails et suite à des intégrations diverses, la table contient désormais plus doublons (de 1 à 2 doublon).
Je souhaite donc supprimer tous les doublons dont la date de création (date d'enregistrement) n'est la plus élevée.
Voici ce que j'avais commencé à faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 # pour afficher les doublons (ok ça fonctionne) SELECT * FROM `matable` GROUP BY email HAVING (count(email)>1))Je rencontre différentes erreurs de syntaxe parce que je ne sais pas formuler la requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 # pour tenter de supprimer les doublons DELETE FROM matable WHERE date IN (SELECT MIN(date) FROM `matable` GROUP BY email HAVING (count(*)>1))
Un coup de main svp ?
Merci
Partager