J'ai une table qui ressemble à cet appelant «makerar»
 cname  | wmname |          avg           
--------+-------------+------------------------
 canada | zoro   |     2.0000000000000000
 spain  | luffy  | 1.00000000000000000000
 spain  | usopp  |     5.0000000000000000
Et je veux sélectionner la moyenne maximale pour chaque cname.
SELECT cname, wmname, MAX(avg)  FROM makerar GROUP BY cname;mais j'obtiendrai une erreur,
ERROR:  column "makerar.wmname" must appear in the GROUP BY clause or be used in an   aggregate function 
LINE 1: SELECT cname, wmname, MAX(avg)  FROM makerar GROUP BY cname;
donc je fais ça
SELECT cname, wmname, MAX(avg)  FROM makerar GROUP BY cname, wmname;cependant, cela ne donnera pas les résultats escomptés et la sortie incorrecte ci-dessous est affichée.
 cname  | wmname |          max           
--------+--------+------------------------
 canada | zoro   |     2.0000000000000000
 spain  | luffy  | 1.00000000000000000000
 spain  | usopp  |     5.0000000000000000
Les résultats réels doivent être
 cname  | wmname |          max           
--------+--------+------------------------
 canada | zoro   |     2.0000000000000000
 spain  | usopp  |     5.0000000000000000
Comment résoudre ce problème?
Remarque: ce tableau est une VUE créée à partir d'une opération précédente.
wmname="usopp"attendu et pas par exemple wmname="luffy"?