IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Supprimer les doublons dans une table


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    407
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2003
    Messages : 407
    Points : 117
    Points
    117
    Par défaut Supprimer les doublons dans une table
    Bonsoir,
    Voilà j'ai une table mysql dont voici la structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    CREATE TABLE `correspondance` (
      `id` int(11) NOT NULL auto_increment,
      `marque` int(5) NOT NULL default '0',
      `modele` varchar(20) NOT NULL default '',
      `chassis` varchar(50) NOT NULL default '',
      `valider` tinyint(1) NOT NULL default '0',
      `date_ajout` date NOT NULL default '0000-00-00',
      PRIMARY KEY  (`id`),
      KEY `modele` (`modele`,`chassis`),
      KEY `marque` (`marque`),
      KEY `chassis` (`chassis`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=28837 ;
    au fur a mesure des ajouts je me retrouve avec enormement de doublons sur la colonne 'modele'
    comment puis je faire pour supprimer tout cela car j'ai bien fait un select distinct et j'obtiens environ 18500 sur le 28836 lignes que j'ai

    merci d'avance
    bonne soirée
    A+
    Tout sur le cyclisme : Annuaire vélo - Emploi Vélo

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut,

    tu veux supprimer tes doublons sur quel critere?
    En cas de doublons, lequel veux tu garder?

    un petit article sur le sujet : http://sqlpro.developpez.com/cours/doublons/

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    407
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2003
    Messages : 407
    Points : 117
    Points
    117
    Par défaut
    salut,
    ben si j'ai deux modeles identiques j'en garde qu'un seul car c'est vraiment des doublons tout le reste de la ligne est identique vu qu'il s'agit de correspondance de TV
    Tout sur le cyclisme : Annuaire vélo - Emploi Vélo

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    donc en cas de doublons, seul id est différent, c'est ca?

    Lis l'article que je t'ai joint, tu trouveras le moyen d'éradiquer ces doublons

    bon courage

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 046
    Points
    34 046
    Billets dans le blog
    14
    Par défaut
    Attention cependant si 'id' sert de clé étrangère dans une autre table ; il n'y aura plus de correspondance pour les lignes qui font référence aux doublons supprimés !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 32
    Points : 23
    Points
    23
    Par défaut erreur de suppression
    Bonjour,
    j'ai regardé le lien qui est très bien fait et je m'en suis servit pour supprimer des doublons d'une table (id => clé auto,EAN,article)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DELETE FROM `gessica` g1
    WHERE g1.id > ANY (SELECT g2.id FROM gessica g2 WHERE g1.id<>g2.id AND g1.article=g2.article AND g1.EAN=g2.EAN)
    Mais cela me retourne l'erreur suivante :
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'g1 WHERE g1.id > ANY (SELECT g2.id FROM gessica g2 WHERE g1.id<>g2.id AND g1.art' at line 1
    Pourtant lorsque je fais le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM `gessica` g1
    WHERE g1.id > ANY (SELECT g2.id FROM gessica g2 WHERE g1.id<>g2.id AND g1.article=g2.article AND g1.EAN=g2.EAN)
    Cela me retourne bien les lignes en double !!!

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 046
    Points
    34 046
    Billets dans le blog
    14
    Par défaut
    Tu peux enlever les ` inutiles autour de la table gessica.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    ouai mais c'est pas cela qui fait que ca ne marche pas

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. Supprimer les doublons dans une table!
    Par Kirou dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/06/2008, 15h37
  3. Réponses: 2
    Dernier message: 14/06/2007, 22h24
  4. Comment supprimer les doublons d'une table?!
    Par JauB dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/01/2006, 08h48
  5. [vbexcel]Comment supprimer les doublons dans une combobox?
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 24/11/2005, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo