Résolu : Besoin d'aide sur une requete MySQL
7 messages
• Page 1 sur 1
- code
- WRInaute impliqué

- Messages: 648
- Inscription: 29 Juil 2005
Résolu : Besoin d'aide sur une requete MySQL
Bonjour,
alors voilà, je bloque sur une requête qui me paraît pourtant assez simple...
Admettons que j'aie 2 tables :
- une table "chanteur"
- une table "album"
Je voudrais compter le nombre d'occurences des chanteurs dans ma table "album". ça c'est facile, je fais donc :
Mais ce qui me pose problème, c'est que je voudrais maintenant classer les résultats par ordre décroissant d'occurences trouvées. Ainsi il faudrait que la requete me renvoie comme premier résultat le chanteur qui a le plus d'album...
Il me semblait que AS permettait de créer un alias pour un champ de la table (en l'occurence le champ "chanteur" de ma table "album") mais si je fais GROUP BY cnt DESC >> j'ai une belle erreur
Comment puis-je obtenir le résultat escompté avec une seule requête ?
alors voilà, je bloque sur une requête qui me paraît pourtant assez simple...
Admettons que j'aie 2 tables :
- une table "chanteur"
- une table "album"
Je voudrais compter le nombre d'occurences des chanteurs dans ma table "album". ça c'est facile, je fais donc :
- Code: Tout sélectionner
$ma_requete="SELECT titre_album, COUNT(chanteur) AS cnt FROM `album` ";
Mais ce qui me pose problème, c'est que je voudrais maintenant classer les résultats par ordre décroissant d'occurences trouvées. Ainsi il faudrait que la requete me renvoie comme premier résultat le chanteur qui a le plus d'album...
Il me semblait que AS permettait de créer un alias pour un champ de la table (en l'occurence le champ "chanteur" de ma table "album") mais si je fais GROUP BY cnt DESC >> j'ai une belle erreur
Comment puis-je obtenir le résultat escompté avec une seule requête ?
Dernière édition par code le Dim Fév 11, 2007 9:27, édité 1 fois.
- fablezouave
- WRInaute discret

- Messages: 109
- Inscription: 20 Déc 2006
Salut
C'est pas GROUP BY cnt DESC, mais ORDER BY cnt DESC
fab
C'est pas GROUP BY cnt DESC, mais ORDER BY cnt DESC
fab
- code
- WRInaute impliqué

- Messages: 648
- Inscription: 29 Juil 2005
Je ne crois pas, car lorsque je fais ORDER BY cnt, ça me renvoie le total des enregistrements de la table et si je laisse titre_album en premier élément de la requete ça me renvoie une erreur...
Dernière édition par code le Dim Fév 11, 2007 9:14, édité 1 fois.
- fablezouave
- WRInaute discret

- Messages: 109
- Inscription: 20 Déc 2006
Quelle est la structure exacte de tes 2 tables ?
fab
fab
- code
- WRInaute impliqué

- Messages: 648
- Inscription: 29 Juil 2005
En fait ma requete ne s'effectue que sur la table album, qui a les champs suivants :
- id_album : mediumint 8, auto_increment
- titre_album : varchar (150)
- chanteur : varchar (150)
et plusieurs autres champs qui ne m'intéressent pas ici
- id_album : mediumint 8, auto_increment
- titre_album : varchar (150)
- chanteur : varchar (150)
et plusieurs autres champs qui ne m'intéressent pas ici
- fablezouave
- WRInaute discret

- Messages: 109
- Inscription: 20 Déc 2006
bah ...
$ma_requete="SELECT titre_album, COUNT(chanteur) AS cnt FROM `album` GROUP BY id_album ORDER BY cnt DESC";
doit te retourner ce que tu souhaites (si je suis bien réveillé)
fab
$ma_requete="SELECT titre_album, COUNT(chanteur) AS cnt FROM `album` GROUP BY id_album ORDER BY cnt DESC";
doit te retourner ce que tu souhaites (si je suis bien réveillé)
fab
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Google API : guide de développement de l'API Google - 20-09-2002
- Passage à l'heure d'été/hiver sur un forum phpBB - 31-10-2010
- Gestion des langues et des sessions en PHP / MySQL - 02-05-2004
- Les différents systèmes de mise en cache des données - 16-08-2010
- Nombre moyen de mots par requête : statistiques AOL Août 2006 - 10-08-2006
- Nombre de clics dans les pages de résultats : statistiques AOL Août 2006 - 11-08-2006
- La tension monte entre Google et les sites d'avis d'internautes - 01-02-2011
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
Qui est en ligne
Utilisateurs parcourant ce forum: erestrebian et 0 invités
