Supprimer les doublons dans une table

Fermé
Gleude25 Messages postés 95 Date d'inscription mardi 26 avril 2011 Statut Membre Dernière intervention 31 janvier 2013 - 1 juin 2011 à 16:03
Gleude25 Messages postés 95 Date d'inscription mardi 26 avril 2011 Statut Membre Dernière intervention 31 janvier 2013 - 6 juin 2011 à 10:09
Bonjour,
Comment faire pour supprimer le doublon le plus ancien dans une table ?

Merci d'avance !



A voir également:

2 réponses

jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024 9 224
Modifié par jee pee le 1/06/2011 à 18:10
Salut,

Tu devrais préciser sur quel SGBD car les solutions pourraient être différentes.

Sous Oracle (valable aussi pour les doublons) :

delete from table where 
    (cle,rowid) in 
    ( 
        ( 
         select cle,rowid from table where 
         (cle) in 
            ( 
             select cle from table 
                group by cle having count(*) > 1 
            ) 
        ) 
        minus 
        ( 
        select cle,max(rowid) from table 
                group by cle having count(*) > 1 
        ) 
    ) 
/


cdlt

Un étranger, c'est un ami qu'on n'a pas encore rencontré.
0
Gleude25 Messages postés 95 Date d'inscription mardi 26 avril 2011 Statut Membre Dernière intervention 31 janvier 2013 9
Modifié par Gleude25 le 6/06/2011 à 10:09
Non désolé, j'avais oublié de préciser que je travaillais sous Access 2007.

cdlt
Un concerné n'est pas obligatoirement un imbécile encerclé.
Pierre Dac
0