この呼び出し元「makerar」のようなテーブルがあります
cname | wmname | avg
--------+-------------+------------------------
canada | zoro | 2.0000000000000000
spain | luffy | 1.00000000000000000000
spain | usopp | 5.0000000000000000
そして、各cnameの最大平均を選択したいと思います。
SELECT cname, wmname, MAX(avg) FROM makerar GROUP BY cname;
エラーが出ますが、
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;
だから私はこれをします
SELECT cname, wmname, MAX(avg) FROM makerar GROUP BY cname, wmname;
ただし、これでは意図した結果が得られず、以下の誤った出力が表示されます。
cname | wmname | max
--------+--------+------------------------
canada | zoro | 2.0000000000000000
spain | luffy | 1.00000000000000000000
spain | usopp | 5.0000000000000000
実際の結果は
cname | wmname | max
--------+--------+------------------------
canada | zoro | 2.0000000000000000
spain | usopp | 5.0000000000000000
この問題を解決するにはどうすればよいですか?
注: このテーブルは、以前の操作で作成された VIEW です。