PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

GroupingError:FEHLER:Die Spalte muss in der GROUP BY-Klausel erscheinen oder in einer Aggregatfunktion verwendet werden

Sie dürfen reviews.id nicht auswählen (implizit ausgewählt durch den Platzhalter * ), ohne es zu GROUP BY hinzuzufügen -Klausel oder Anwenden einer Aggregatfunktion wie avg() . Die Lösung besteht darin, einen der folgenden Schritte auszuführen:

  1. Entfernen Sie den Platzhalter * aus Ihrer Auswahl
  2. Fügen Sie das Feld reviews.id hinzu zu Ihrer Gruppenklausel
  3. Wählen Sie reviews.id aus explizit und wenden Sie eine Aggregatfunktion darauf an (z. B. sum(reviews.id)). )
  4. Ersetzen Sie den Platzhalter * mit dem tabellenspezifischen Platzhalter albums.*

Die zweite und dritte Option machen in Ihrem Szenario jedoch nicht viel Sinn. Aufgrund Ihres Kommentars habe ich Option vier hinzugefügt.