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

Laaris Messages postés 131 Statut Membre -  
Sacha79 Messages postés 49 Statut Membre -
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

5 réponses

  1. UaLShark Messages postés 193 Statut Membre 35
     
    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
    1. Laaris Messages postés 131 Statut Membre 73
       
      Merci pour ta réponse.

      C'est aussi ce que j'aurai fait sous Oracle, mais Access n'accepte pas max(count(*)).
      0
  2. UaLShark Messages postés 193 Statut Membre 35
     
    justement je l'ai testée sous oracle avant te l'écrire
    malheureusement j'ai pas access je travaille avec open office :-(
    0
  3. Scroller
     
    Pour info max(count(*)) ne fonctionne pas non plus sous SQL Server
    0
  4. Taxon
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question