Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2011, 12h24   #1
Membre du Club
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 51
Points : 51
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.
totoAussi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 12h46   #2
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
La clause HAVING
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 12h54   #3
Membre du Club
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 51
Points : 51
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+
totoAussi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 13h05   #4
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Il suffit d'utiliser DISTINCT dans le count :
Code :
1
2
3
4
SELECT nom, count(DISTINCT ville)
  FROM pays
 GROUP BY nom
HAVING count(DISTINCT ville) >= 2
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 13h17   #5
Membre du Club
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 51
Points : 51
Ah merci beaucoup !!!!!!!!!!!!!

Ça marche grâce à toi.


Merci 1000 fois.
totoAussi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h18.


 
 
 
 
Partenaires

Hébergement Web