Cherche bonne requète mysql

Résolu/Fermé
JessayeDeTrouver Messages postés 270 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 4 mai 2012 - Modifié par JessayeDeTrouver le 24/08/2011 à 12:51
JessayeDeTrouver Messages postés 270 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 4 mai 2012 - 24 août 2011 à 13:20
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 | Friboug
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.


3 réponses

graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 975
24 août 2011 à 12:43
il te faut deux requetes, la premiere avec COUNT(*) pour compter les villes

la deuxieme plus classique ou on affiche les villes dont le nombre est superieur ou egal a 2

WHERE "'.$recultat_compte.'" => 2
0
JessayeDeTrouver Messages postés 270 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 4 mai 2012 47
Modifié par JessayeDeTrouver le 24/08/2011 à 12:56
En faite, j'ai oublié de préciser que les villes doivent etre 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 double) !
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 24/08/2011 à 13:15
Bonjour,

De tête, à essayer comme ça:

SELECT nom, COUNT(1) AS nombre
FROM pays
GROUP BY nom, ville
WHERE nombre >1

A+
0
JessayeDeTrouver Messages postés 270 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 4 mai 2012 47
24 août 2011 à 13:20
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
0