Comment trouver le maximum d'avg

J'essaie d'afficher le salaire moyen maximum; toutefois, je n'arrive pas à le faire fonctionner.

Je peux obtenir une liste de la moyenne des salaires pour les afficher avec:

select worker_id, avg(salary)
from workers
group by worker_id;

Cependant, lorsque j'essaie d'afficher une liste du salaire moyen maximum avec:

select max (avg(salary))
from (select worker_id, avg(salary)
      from workers
      group by worker_id);

il ne fonctionne pas. Je reçois un "identifiant invalide erreur". Comment puis-je utiliser la moyenne du salaire de chaque travailleur à trouver le maximum de la moyenne pour chaque travailleur?

Grâce.

Je m'attends à une colonne appelée WORKER_ID à la clé primaire d'une table appelé les TRAVAILLEURS. Si oui, AVG() salaire serait la moyenne pour l'ensemble de la table, et le MAX(AVG()) salaire serait juste l'AVG() de salaire. Cependant, je soupçonne que c'est juste un shonky modèle de données.
Une autre possibilité est que la clé de la table est une combinaison de worker_id et de la date - si oui, une moyenne pondérée par le nombre de jours peut être plus utile qu'une simple moyenne arithmétique.

OriginalL'auteur bqui56 | 2011-11-08