この発信者「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です。
wmname="usopp"
期待されているのwmname="luffy"
ですか?