PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

GroupingError :ERREUR :la colonne doit apparaître dans la clause GROUP BY ou être utilisée dans une fonction d'agrégation

Vous n'êtes pas autorisé à sélectionner reviews.id (sélectionné implicitement via le caractère générique * ) sans l'ajouter au GROUP BY clause ou en appliquant une fonction d'agrégation comme avg() . La solution consiste à effectuer l'une des opérations suivantes :

  1. Supprimer le caractère générique * de votre sélection
  2. Ajouter le champ reviews.id à votre clause groupe
  3. Sélectionnez reviews.id explicitement et lui appliquer une fonction d'agrégation (par exemple, sum(reviews.id) )
  4. Remplacer le caractère générique * avec le caractère générique spécifique à la table albums.*

La deuxième et la troisième option n'ont cependant pas beaucoup de sens dans votre scénario. Sur la base de votre commentaire, j'ai ajouté l'option quatre.