Bu arayan 'makerar' gibi bir tablo var
cname | wmname | avg
--------+-------------+------------------------
canada | zoro | 2.0000000000000000
spain | luffy | 1.00000000000000000000
spain | usopp | 5.0000000000000000
Ve her cname için maksimum ort. Seçmek istiyorum.
SELECT cname, wmname, MAX(avg) FROM makerar GROUP BY cname;
ama bir hata alırım,
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;
bu yüzden bunu yaparım
SELECT cname, wmname, MAX(avg) FROM makerar GROUP BY cname, wmname;
ancak bu amaçlanan sonuçları vermeyecektir ve aşağıdaki yanlış çıktı gösterilmektedir.
cname | wmname | max
--------+--------+------------------------
canada | zoro | 2.0000000000000000
spain | luffy | 1.00000000000000000000
spain | usopp | 5.0000000000000000
Gerçek Sonuçlar
cname | wmname | max
--------+--------+------------------------
canada | zoro | 2.0000000000000000
spain | usopp | 5.0000000000000000
Bu sorunu nasıl düzeltebilirim?
Not: Bu tablo, önceki bir işlemden oluşturulan bir GÖRÜNÜMdür.
wmname="usopp"
bekleniyor, örneğin değil wmname="luffy"
?