[SQL] Access 97 - max de count(*) group by

Fermé
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 - 11 avril 2008 à 10:44
Sacha79 Messages postés 29 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 5 février 2010 - 30 août 2009 à 21:56
Bonjour,

La requête suivante est assez simple et me permet de récupérer le nombre d'observations pour chaque taxon.

SELECT [N° Taxon], count(*) AS [Nombre d'observations]
FROM observations
GROUP BY [N° Taxon];

Je voudrais maintenant récupérer le [N° Taxon] ayant le plus grand nombre d'observations, ainsi que ce nombre. C'est à dire la ligne du résultat de la requête, ayant le plus grand [Nombre d'observations].

Il y a sûrement un truc à faire avec max() quelque part, j'ai essayé différentes solutions mais ça me marche jamais.

Quelqu'un peut-il m'aider?

Merci d'avance.
A voir également:

5 réponses

UaLShark Messages postés 191 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 21 juillet 2010 35
11 avril 2008 à 11:28
SELECT [N° Taxon], count(*) AS [Nombre d'observations]
FROM observations
GROUP BY [N° Taxon]
having count(*) = (SELECT max( count(*))
FROM observations
GROUP BY [N° Taxon])
0
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73
11 avril 2008 à 11:49
Merci pour ta réponse.

C'est aussi ce que j'aurai fait sous Oracle, mais Access n'accepte pas max(count(*)).
0
UaLShark Messages postés 191 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 21 juillet 2010 35
11 avril 2008 à 12:02
justement je l'ai testée sous oracle avant te l'écrire
malheureusement j'ai pas access je travaille avec open office :-(
0
Pour info max(count(*)) ne fonctionne pas non plus sous SQL Server
0
Il y aurait moyen pour ces autres SGBD de faire un tri décroissant (ORDER BY DESC) sur la colonne retournant le nombre d'observations et de filtrer pour obtenir uniquement la première ligne, avec ROWNUM ou quelque chose d'équivalent, du moins il me semble à première vue.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sacha79 Messages postés 29 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 5 février 2010 8
30 août 2009 à 21:56
Ta requête devrait ressembler à peu près à ça :

http://ww11.xoowiki.com/Article/SQL-Server/detail-dune-valeur-max-enfant-143.aspx
0