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 :

Problème avec select distinct


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 44
    Points
    44
    Par défaut Problème avec select distinct
    Bonjour,

    J'ai un petit problème avec la requete select distinct, je m'explique:

    J'ai une table qui contient plusieurs colonnes où une colone se répéte plusieurs fois. Je veux éliminer les lignes doublons de cette table.
    ma requête est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT structure from MaTable;
    où structure est la colone qui contient les doublons

    Mon problème est que cette requête me retourne comme résultat que la colonne structure alors que moi je vous avoir les autres colonnes.

    En attente de votre réponse, merci bien de m'avoir accorder un peu de votre temps en lisant mon message.

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Bonjour
    On m'a donné ta solution hier dans le post :
    http://www.developpez.net/forums/d88...oyer-doublons/

    Il faut que tu mettes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distint ch1,chp2, from table
    et tu n'auras que les lignes qui n'ont pas de doublons

    Gancau

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    Merci bien pour votre réponse, mais apparament vous m'avez pas compris,
    ce que je veux c'est DISTINCT sur une seule colonne mais en même tems je veux dans le résultat afficher les autres colonne,
    voila j'espère avoir été plus clair maintenant.

    Merci

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Et la réponse est : ce n'est pas possible.
    En SQL, DISTINCT s'applique à l'ensemble du n-uplet, c'est à dire à toutes les colonnes de chaque ligne résultant de la requête SELECT.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  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 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Peut-être le besoin est-il mal formulé ?
    J'ai une table qui contient plusieurs colonnes où une colone se répéte plusieurs fois. Je veux éliminer les lignes doublons de cette table.
    Mon problème est que cette requête me retourne comme résultat que la colonne structure alors que moi je vous avoir les autres colonnes.
    Cherches-tu à afficher toutes les lignes qui ont la structure en commun pour examiner les autres colonnes et choisir ensuite quelles données conserver ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT m.structure, m.les_autres_colonnes
    FROM MaTable AS m
    INNER JOIN (
      SELECT structure
      FROM MaTable
      GROUP BY structure
      HAVING COUNT(*) > 1
    ) AS t ON t.structure = m.structure
    ORDER BY m.structure
    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 du Club
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Non c'est le contraire voici un echantillon de ma table:
    nom prenom structure
    habiba habiba commercial
    sara sara commercial
    doria doria finance
    mehdi mehdi finance
    sami sami approvisionnement
    et je veux avoir ceci comme résultat:

    nom prenom structure
    habiba habiba comercial
    doria doria finance
    sami sami approvisionnement

    Car j'ai besoin des colonnes nom et prenom pour les manipuler dans mon code
    Alors que SELECT DISTINCT structure from matable ne me renvoi que la colonne structure.

    Merci

  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 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Quel critère fait que 'habiba habiba' est préféré à 'sara sara' et que 'doria doria' est préféré à 'medhi medhi' ?
    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 !

Discussions similaires

  1. Réponses: 12
    Dernier message: 14/09/2011, 12h13
  2. Problème avec le DISTINCT
    Par izou9002 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 26/01/2006, 18h05
  3. Problème avec select sous MYSQL
    Par Thomad dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/01/2006, 11h26
  4. problème avec select sur onchange
    Par Kerod dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/12/2005, 14h05
  5. Problème avec select top
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 10/12/2004, 14h55

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