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

Langage SQL Discussion :

[debutant] suppression des doublons absolus


Sujet :

Langage SQL

  1. #1
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut [debutant] suppression des doublons absolus
    bonjour,

    j'ai lu le tutoriel SQL et les doublons http://sql.developpez.com/doublons/#L2. Pour les mettre en évidence on utilise cette requête :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT COUNT(*) AS NBR_DOUBLES, NUM, NOM, PRENOM
    FROM   T_DOUBLON
    GROUP  BY NUM, NOM, PRENOM
    HAVING COUNT(*) > 1

    par la suite, on propose plusieurs solutions pour les supprimer...



    Etant confronté à ce problème de doublons j'ai réalisé cette requête pour les supprimer. Ici, je prends également les groupes de valeurs apparaissant au moins une fois.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT COUNT(*) AS NBR_DOUBLES, NUM, NOM, PRENOM
    FROM   T_DOUBLON
    GROUP  BY NUM, NOM, PRENOM
    HAVING COUNT(*) >= 1
    La somme des valeurs NBR_DOUBLES est bien égale à la somme des enregistrements de la table avec les doublons.

    Je supprime ensuite la colonne NBR_DOUBLES.

    Je voulais savoir si cette solution était également possible.


  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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    euh excuse moi mais c'est quoi la différence entre tes 2 requetes?

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    dans ma seconde requête je prends également les groupes de valeurs apparaissant au moins une fois :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HAVING COUNT(*) >= 1

    J'ai transformé le > de la 1ère requête en >=

  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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    oula en effet

    dans ta 2eme requete, pour moi le having ne sert à rien
    tu auras au minimum 1, et si c'est plus de 1 c'est que c'est un doublon

    ca doit etre moi mais j'ai du mal a comprendre

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Bah, disons que les solutions proposées dans le tutoriel pour supprimer les doublons me semblent un peu complexes

    Donc je me demandais si la seconde requête n'était pas une solution comme une autre pour supprimer les doublons. (J'ai testé sans le HAVING, en effet il ne sert à rien )

    La table obtenue est bien une table avec des lignes uniques.


    Je voulais juste savoir si finalement la méthode que j'applique pour supprimer les doublons de ma table était efficace.

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 802
    Points
    30 802
    Par défaut
    Citation Envoyé par Auteur Voir le message
    Je voulais juste savoir si finalement la méthode que j'applique pour supprimer les doublons de ma table était efficace.
    Tout ce qu'il y a de plus efficace
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    avec un select, tu ne vas pas supprimer grand chose
    le probleme avec des doublons absolus, c'est que c'est pas facile à éliminer
    personnellement, je trouve que le plus simple est de passer par une table temporaire

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Tout ce qu'il y a de plus efficace
    Citation Envoyé par Cybher Voir le message
    avec un select, tu ne vas pas supprimer grand chose
    le probleme avec des doublons absolus, c'est que c'est pas facile à éliminer
    personnellement, je trouve que le plus simple est de passer par une table temporaire
    2 avis différents Quoiqu'avec mon select je récupère bien une table filtrée, je peux ensuite copier le résultat dans ma table de départ.

    Cybher : tu peux me montrer comment tu procèdes ?

  9. #9
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    moi j'avais plus l'habitude d'utiliser la partie : Suppression à l'aide d'une table temporaire de l'article

    en meme temps, comme je pratique beaucoup moins qu'avant, je te conseille de suivre l'autre avis

  10. #10
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par Cybher Voir le message
    moi j'avais plus l'habitude d'utiliser la partie : Suppression à l'aide d'une table temporaire de l'article

    en meme temps, comme je pratique beaucoup moins qu'avant, je te conseille de suivre l'autre avis

    ok

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/07/2009, 10h06
  2. suppression des doublons
    Par sucreMan dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 03/10/2007, 12h12
  3. [SQL] Suppression des doublons d'un champs SQL
    Par fabien14 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/05/2007, 14h28
  4. problème avec la suppression des doublons dans arraylsit
    Par ulysse031 dans le forum Langage
    Réponses: 13
    Dernier message: 04/03/2007, 12h52
  5. suppression des doublons
    Par LuckySoft dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/08/2006, 12h29

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