Téléchargement
illégal
Posez votre question Signaler

Group by, order by et count()

mb12fr 74Messages postés 8 février 2001Date d'inscription - Dernière réponse le 1 oct. 2001 à 15:26
Bonjour,

je voudrais lister par ordre le nombre d'enregistrements issu d'un group by.

La requete suivante ne contient pas le tri

select count(numadh) numadh from suivi group by numadh ;

que je voudrais sur le resultat de count(numadh).

un peu comme suit

select count(numadh) numadh from suivi group by numadh ORDER BY COUNT(NUMADH);

avec en majuscule ce qui ne passe pas.

Une idée qqun ?

Merci de vos réponses.
Lire la suite 

Group by, order by et count() »

2 réponses
Réponse
+2
moins plus
Tu n'as pas précisé sur quel SGBD tu travailles...

Sur Oracle 8.1.5, la forme suivante :
===
select count(auteur) nb_auteur from messages group by auteur order by nb_auteur;
===
... fonctionne.
Je pense qu'en utilisant le nom d'alias que tu as indiqué pour la colonne count(numadh) dans l'order by, c'est-à-dire numadh (pas très explicite comme alias... on ne fait pas la différence avec la colonne d'origine), ca devrait marcher :

===
select count(numadh) numadh from suivi group by numadh order by numadh;
===


Sinon, tu peux essayer qq chose comme :
===
select * from (select count(auteur) nb_auteur from messages group by auteur) order by nb_auteur;
===
... ca marche en tout cas également sur Oracle 8.1.5 (désolé, je n'ai rien d'autre sous la main, et je ne vais pas m'en plaindre ;o)).

Tittom

PS : perso je renommerais ton alias pour y voir plus clair :
===
select count(numadh) nb_adh from suivi group by numadh order by nb_adh;
===
Ajouter un commentaire
Réponse
+2
moins plus
C'est bien un manque d'alias.
La ligne ce dessous fonctionne tres bien.

select count(numadh) numadh2, numadh from suivi group by numadh order by numadh2 desc;

Merci de ta réponse.
A+
Ajouter un commentaire
Ce document intitulé « Group by, order by et count() » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?