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 :

Je n'arrive pas à trouver la bonne requête mysql à partir d'une table simple à 2 colonnes


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 204
    Points : 123
    Points
    123
    Par défaut Je n'arrive pas à trouver la bonne requête mysql à partir d'une table simple à 2 colonnes
    Bonjour,

    je n'arrive pas à trouver la bonne requête mysql à partir d'une table.

    La table se nomme pays et n'a que 2 colonnes :
    - nom (varchar)
    - ville (varchar)

    Voici les données :

    nom | ville
    ------------------------------
    France | Paris
    France | Nice
    France | Nice
    France | Lille
    Suisse | Lausanne
    Suisse | Lausanne
    Suisse | Friboug
    Italie | Milan


    Alors moi, ce que je veux c'est trouver la requête qui m'affiche la liste des pays (de façon distincte) qui ont au moins 2 villes distinctes.
    Dans cet exemple, la requête me donnerait comme résultat :

    France (car 3 villes distinctes)
    Suisse (car 2 villes distinctes)

    Mais je n'arrive pas à trouver la bonne requête. Une idée ?

    Merci d'avance pour votre aide, cordialement.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846

  3. #3
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 204
    Points : 123
    Points
    123
    Par défaut
    Merci skuatamad,

    Mais en faite, j'ai oublié de préciser que les villes doivent être distinctes.

    Donc la requête doit afficher la liste des pays qui ont au moins 2 villes distinctes !
    (car dans la table, un pays peut avoir des villes en doublons).

    Donc est-ce que le HAVING marche dans ce cas aussi ?

    merci d'avance, a+

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Il suffit d'utiliser DISTINCT dans le count :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select nom, count(distinct ville)
      from pays
     group by nom
    having count(distinct ville) >= 2

  5. #5
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 204
    Points : 123
    Points
    123
    Par défaut
    Ah merci beaucoup !!!!!!!!!!!!!

    Ça marche grâce à toi.


    Merci 1000 fois.

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

Discussions similaires

  1. Je n'arrive pas à trouver la bonne requête
    Par totoAussi dans le forum Requêtes
    Réponses: 13
    Dernier message: 07/09/2011, 12h33
  2. [MySQL] Bonjour, je n'arrive pas à trouver la bonne requète mysql
    Par totoAussi dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/07/2011, 12h37
  3. [Tableaux] probleme je n'arrive pas à trouver l'erreur
    Par harlock59 dans le forum Langage
    Réponses: 21
    Dernier message: 06/06/2006, 14h43
  4. Réponses: 5
    Dernier message: 14/05/2006, 22h41
  5. Une parse error que j'arrive pas à trouver
    Par Kerweb dans le forum Langage
    Réponses: 3
    Dernier message: 27/03/2006, 12h25

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