Saya punya meja yang mirip penelepon ini 'pembuat'
cname | wmname | avg
--------+-------------+------------------------
canada | zoro | 2.0000000000000000
spain | luffy | 1.00000000000000000000
spain | usopp | 5.0000000000000000
Dan saya ingin memilih rata-rata maksimum untuk setiap cname.
SELECT cname, wmname, MAX(avg) FROM makerar GROUP BY cname;
tapi saya akan mendapatkan kesalahan,
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;
jadi saya melakukan ini
SELECT cname, wmname, MAX(avg) FROM makerar GROUP BY cname, wmname;
namun ini tidak akan memberikan hasil yang diinginkan, dan keluaran yang salah di bawah ini ditampilkan
cname | wmname | max
--------+--------+------------------------
canada | zoro | 2.0000000000000000
spain | luffy | 1.00000000000000000000
spain | usopp | 5.0000000000000000
Hasil yang sebenarnya seharusnya
cname | wmname | max
--------+--------+------------------------
canada | zoro | 2.0000000000000000
spain | usopp | 5.0000000000000000
Bagaimana saya bisa memperbaiki masalah ini?
Catatan: Tabel ini adalah LIHAT yang dibuat dari operasi sebelumnya.
wmname="usopp"
diharapkan dan bukan misalnya wmname="luffy"
?