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 :

distinct ? goup by ? marchent pas !!!


Sujet :

Langage SQL

  1. #1
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    756
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 756
    Points : 402
    Points
    402
    Par défaut distinct ? goup by ? marchent pas !!!
    Bjr,
    Voici le contenu de ma table :

    Id Nom Numero Ordre
    1 Gare d'Herblay 115 1
    2 Gare d'Herblay 115 1
    3 General Leclerc 147 2
    4 General Leclerc 147 2
    5 Foch 145 3
    6 Foch 145 3
    7 Bournouviers 143 4
    8 Bournouviers 143 4

    Je voudrais avoir le résultat suivant :

    Gare d'Herblay
    General Leclerc
    Foch
    Bournouviers
    c-a-d tri selon la colonne ORDRE

    La requete suivante ne marche pas :
    SELECT * FROM tab GROUP BY nom ORDER BY ordre
    ni celle ci :
    SELECT * FROM tab GROUP BY ordre ORDER BY ordre
    ni celle ci :
    SELECT distinct nom FROM tab ORDER BY ordre
    !!!!

  2. #2
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    Bonjour,

    SELECT * FROM tab GROUP BY nom ORDER BY ordre
    Ne fonctionne pas car tu sélectionnes toutes les zones de la table, ceci devrait être OK.

    SELECT ordre, nom FROM tab GROUP BY ordre, nom ORDER BY ordre
    SELECT distinct nom FROM tab ORDER BY ordre
    Ne fonctionne pas car le champ de tri doit être dans la sélection.

  3. #3
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    - Merci de préciser le SGBD,
    - Merci de ne pas utiliser la formule ô combien approximative "ça ne marche pas" mais de décrire le résultat obtenu (ou l'erreur).

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    L'ordre étant le même pour un nom donné, essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Nom
    FROM tab
    GROUP BY Nom
    ORDER BY MAX(Ordre)
    Il y a fort à parier que le modèle de cette base de données soit faiblement normalisé, voire pas du tout !

  5. #5
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    756
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 756
    Points : 402
    Points
    402
    Par défaut
    Citation Envoyé par Médiat
    Il y a fort à parier que le modèle de cette base de données soit faiblement normalisé, voire pas du tout !
    c'est à dire quoi faiblement normalise ? comment le savoir ?

    Xo >
    SGBD : MySQL
    Sujet : je n'ai pas pu trouver un sujet qui soit aussi representatif !!

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Le nom, le numéro et l'ordre sont répétés ; si tu veux te renseigner, il suffit de chercher sur le NET : "Forme Normale" et tu trouveras les 6 FN habituelles.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    En effet, le problème n'est pas de ta requête car elle semble correcte.

    Ce que tu as à retenir quand tu fais une clause GROUP BY est que tous les éléments de la liste de sélection doivent être soit des expressions apparaissant dans la clause GROUP BY ou des expressions contenant des fonctions de regroupement (COUNT etc..)

  8. #8
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    756
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 756
    Points : 402
    Points
    402
    Par défaut
    merci pour tous,
    en effet la table n'est pas normalié. Et j'ai beau essayé toutes les requetes possible et je n'ai jamais le résultat souhaité. J'ai alors utilisé un script php (tableau associatif) pour néttoyer le résultat

  9. #9
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Résolu donc ?

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

Discussions similaires

  1. Les liens depuis Thunderbird ne marchent pas
    Par Cazaux-Moutou-Philippe dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 20/03/2006, 22h27
  2. filter sur PNG et <!-- [if IE]> ne marchent pas
    Par Mucsy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 13/03/2006, 15h37
  3. Réponses: 4
    Dernier message: 01/10/2005, 13h52
  4. [VB.NET] Les évènements ne marchent pas
    Par Dnx dans le forum ASP.NET
    Réponses: 6
    Dernier message: 28/01/2005, 12h54
  5. [FASM] Interruptions BIOS ne marchent pas sous XP
    Par LaPatoshe dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/12/2004, 18h44

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