[SQL] Besoin d'aide

franchesco -  
 2Spartiate -
Salut à tous, mon problème est le suivant :
avec le schéma relationnel ci dessous on me demande de répondre en SQL aux questions 1), 2) et 3).

Employés=(matricule, nom, prénom, salaire, compagnie)
Secteur=(compagnie, ville)

1) la compagnie qui à le plus grand nombre d’employés
2) la compagnie qui paie mieux en moyenne
3) Les personnes qui gagnent plus que la moyenne des salaires de la compagnie pour laquelle elles travaillent

Je travail en mode SQL avec Access 2000.
Pour la première question j’ai écris :

Select compagnie, max( count( nom ) )
From employés
Group by compagnie ;

A l’exécution j’ai le message d’erreur suivant : Impossible d’avoir une fonction d’agrégat dans l’expression max(count(nom)).

J’ai voulu faire de même avec la deuxième question

Select compagnie, max( avg(salaire))
From emplotés
Group by compagnie ;

Mais j’ai le meme message d’erreur, Impossible d’avoir une fonction d’agrégat dans l’expression max(avg(salaire)).

N’est il pas possible de composer deux fonctions d’agrégat en SQL, ou alors se sont les limites du mode SQL sous access 2000?
Pourriez-vous me proposer une solution à ces questions?
Merci.

1 réponse

  1. maily Messages postés 7560 Statut Contributeur 453
     
    Bonjour!

    Non, tu ne peux pas composer deux fonctions d'agrégat, du moins, je ne l'ai jamais vu...

    Pour la première je proposerais:

    select compagnie, count(*) as nb
    From employés 
    Group by compagnie 
    order by nb desc; 


    Et tu recupères le premier de la liste...
    Pareil pour le deuxième, tu fais un order by:

    Select compagnie, avg(salaire) as nb 
    From emplotés 
    Group by compagnie 
    order by nb desc;
    


    Et juste, un petit conseil, la prochaine fois, mets un titre un plus explicite!!
    Bonne journée

     Maily   :-)))) L'hirondelle ne fait pas le printemps
    mais le dromadaire fait le désert.
    0
    1. 2Spartiate
       
      Select hirondelle, avg(salaire) as nb
      From informatique


      => maily !


      <=2Spartiate=> Les hirondelles font sont bonheur... ;-)
      0