Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum 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 26/08/2011, 06h00   #1
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Par défaut Select et Distinct

Bonjour,

Voila, j’ai une BDD comme ceci :
Id=1,2,3,4,5
Ville = paris, marseille, paris, toulouse, rennes
Resto=nom1,nom2,noms3,nom4,nom5

Comment faire un select pour récupérer ceci :
1, paris, nom1
2, marseille , nom2
4, toulouse, nom4
5, rennes, nom5

Donc sélectionner la ville distinct mais avec les autres infos de cette ville

J'ai fait :
Code :
$sql = "SELECT DISTINCT ville, * FROM menu";
Mais ca ne fonctionne pas!

Merci de votre aide
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 08h02   #2
Membre confirmé
 
Inscription : juillet 2011
Messages : 146
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : juillet 2011
Messages : 146
Points : 253
Points : 253
Ta demande est étrange

Si tu as 3 tables alors il faut des jointures si tu n'as qu'une table et que tes lignes sont bien id , ville , nom alors un simple select * suffira.

Le distinct sert a supprimer les doublons ce qui ne sera pas utile sur le * a cause de tes id incrémentaux.

Tu peut faire un select distinct ville , nom from menu mais tu perds forcement les id. (si tu veut le 1er id trouvé d'un distinct le group by est plus adapté mais moins efficace en performances.)
Tolriq est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/08/2011, 14h46   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
DISTINCT opère sur toutes les colonnes du SELECT.

Comme Paris est présent 2 fois, qu'est-ce qui justifie que la requête retournera nom1 et pas nom3 ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/08/2011, 23h35   #4
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Salut,

Ca n'a pas d'importance que la requête retournera nom1 et non pas nom3. Le principal est que je n'ai pas 2 fois la meme ville dans mon select. Avec Group By ca semble fonctionner parfaitement
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h01.


 
 
 
 
Partenaires

Hébergement Web