Rechercher : dans
Par :

Group by, order by et count()

Dernière réponse le 1 oct 2001 à 15:26:49 mb12fr, le 1 oct 2001 à 12:26:10 
 Signaler ce message aux modérateurs

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.


Meilleures réponses pour « Group by, order by et count() » dans :
PC ou ordinateur lent / Windows très lent au démarrage VoirSi l'ordinateur met un temps très long à démarrer, le ralentissement peut provenir d'une des causes suivantes : L'ordinateur ne possède pas assez de mémoire vive : Ajouter de la mémoire Des programmes inutiles sont chargés en mémoire au...
Diffuser la vidéo de l'ordinateur sur un écran de télévision VoirIl est possible d'afficher la sortie de l'ordinateur vers la télévision (voire même le son sur un ampli). Pour cela, il est nécessaire que la carte graphique possède une sortie TV et que le téléviseur possède une entrée PERITEL ou S...
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...
Le moniteur ou écran d'ordinateur VoirIntroduction aux écrans d'ordinateur On appelle écran (ou moniteur) le périphérique d'affichage de l'ordinateur. On distingue habituellement deux familles d'écrans : Les écrans à tube cathodique (notés CRT pour Cathod Ray Tube), équipant la...

1

Tittom, le 1 oct 2001 à 14:06:58
  • +1

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;
===

Répondre à Tittom

2

 mb12fr, le 1 oct 2001 à 15:26:49
  • +2

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+

Répondre à mb12fr
Collection CommentÇaMarche.net