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 :

Suppression de doublons après traitement de la copie à laisser


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Juillet 2006
    Messages : 233
    Par défaut Suppression de doublons après traitement de la copie à laisser
    Bonjour à tous,

    Je sais que le problème des doublons a été largement discuté dans ce forum, mais cz cas est spécial

    j'ai une table avec la structure
    nombre,id,val1, val2, val3
    id n'est pas unique et c'est pourquoi la clé est (id,val1, val2, val3).

    si par exemple j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    nombre	id	val1	val2	val3
    4	324	56	6	4
    6	546	3	23	34
    3	325	12	8	12
    6	666	13	9	12
    4	546	4	2	10
    8	444	2	3	5
    je veux avoir en sortie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nombre	id	val1	val2	val3
    3	325	12	6	4
    6	666	13	9	12
    4	546	4	2	4
    8	444	2	3	5
    Donc on veut garder le Min de val1 pour chaque id doublé de même pour val2 et val3.

    La valeur du champ nombre que je veux garder importe peu. L'essentiel c'est
    xx, id_en_double,Min(val1),Min(val2),Min(val3). Bien sûr les MIN sont toujours dans un même id_en_double.


    Merci de votre aide

  2. #2
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    J'ai beau relire ton exemple plusieurs fois, je ne vois pas ce que tu veux obtenir...


    Pour l'id 546, tu as (3,23,34)+(4,2,10) et tu ressorts (4,2,4) ... Va falloir expliquer là...


    D'après l'id 324/325 (on va dire que c'est le même) tu souhaites avoir le minimum de chaque val (12,8,12 + 56,6,4 = 12,6,4).
    Mais tu te contredis dans la phrase Bien sûr les MIN sont toujours dans un même id_en_double. qui semble indiquer le contraire...


    Du coup si tu souhaites bien avoir ce que semble montrer la ligne pour 324/325, je ne vois pas où est le problème. Tu fais un GROUP BY id en appliquant un MIN sur chaque val_iet tu auras ton résultat. En mettant n'importe quelle fonction d'aggrégation pour nombre.

    Dans le cas contraire, il faut mieux expliquer ce que tu souhaites obtenir. (C'est peut être moi qui suit fatigué, on est bientôt Vendredi )

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Juillet 2006
    Messages : 233
    Par défaut
    Bonjour,
    Tout d'abord Vous avez raisons car dans mon post je me suis gouré complètement: Au lieu de 325 il faut toujours lire 324.

    En plus
    (3,23,34)+(4,2,10) doit ressortir (3,2,10)

    Merci infiniment

  4. #4
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Du coup c'est simple :

    Citation Envoyé par Drizzt [Drone38] Voir le message
    Tu fais un GROUP BY id en appliquant un MIN sur chaque val_iet tu auras ton résultat. En mettant n'importe quelle fonction d'aggrégation pour nombre.

Discussions similaires

  1. Traitement des données après filtre et suppressions de doublons
    Par cheerleaders dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 12/06/2015, 09h56
  2. Réponses: 6
    Dernier message: 30/12/2013, 11h13
  3. [langage] Suppression de doublon dans tableau
    Par LFC dans le forum Langage
    Réponses: 5
    Dernier message: 15/04/2004, 14h08
  4. Requête de suppression de doublons : besoin d'aide
    Par biocorp dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2004, 17h04
  5. [LG]Suppression de doublons
    Par moustique31 dans le forum Langage
    Réponses: 5
    Dernier message: 20/12/2003, 21h03

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