Rechercher : dans
Par :

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

Dernière réponse le 30 aoû 2009 à 21:56:17 Laaris, le 11 avr 2008 à 10:44:21 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Firefox 2.0.0.13

Meilleures réponses pour « [SQL] Access 97 max de count(*) group by » dans :
Access 97 sous XP - Mémoire insuffisante VoirProblème Solution Problème Le message "mémoire insuffisante" apparaît lorsque l'on essaie de lancer Access 97 sous Windows XP suite à l'installation d'Access ou du pack Office 97. Ne changez rien à votre configuration matérielle, le...
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...
SQL - Commande SELECT VoirLe langage de manipulation de données Le SQL est à la fois un langage de manipulation de données et un langage de définition de données. Toutefois, la définition de données est l'oeuvre de l'administrateur de la base de données, c'est pourquoi la...

1

UaLShark, le 11 avr 2008 à 11:28:57

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])

Répondre à UaLShark

2

Laaris, le 11 avr 2008 à 11:49:45

Merci pour ta réponse.

C'est aussi ce que j'aurai fait sous Oracle, mais Access n'accepte pas max(count(*)).

Répondre à Laaris

3

UaLShark, le 11 avr 2008 à 12:02:59

Justement je l'ai testée sous oracle avant te l'écrire
malheureusement j'ai pas access je travaille avec open office :-(

Répondre à UaLShark

4

Scroller, le 11 mar 2009 à 15:49:04

Pour info max(count(*)) ne fonctionne pas non plus sous SQL Server

Répondre à Scroller

5

Taxon, le 13 mai 2009 à 00:29:37

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.

Répondre à Taxon

6

 Sacha79, le 30 aoû 2009 à 21:56:17
Répondre à Sacha79