PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

GroupingError:ERROR:kolumna musi występować w klauzuli GROUP BY lub być używana w funkcji agregującej

Nie możesz wybrać reviews.id (wybrane niejawnie przez symbol wieloznaczny * ) bez dodawania go do GROUP BY klauzula lub zastosowanie funkcji agregującej, takiej jak avg() . Rozwiązaniem jest wykonanie jednej z następujących czynności:

  1. Usuń symbol wieloznaczny * z wybranych
  2. Dodaj pole reviews.id do klauzuli grupowej
  3. Wybierz reviews.id jawnie i zastosować do niego funkcję agregującą (np. sum(reviews.id) )
  4. Zastąp symbol wieloznaczny * z charakterystycznymi dla tabeli symbolami wieloznacznymi albums.*

Druga i trzecia opcja nie mają jednak większego sensu w twoim scenariuszu. Na podstawie twojego komentarza dodałem opcję czwartą.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak debugować procedury składowane postgresql?

  2. jak obliczyć salda w programie księgowym za pomocą funkcji okna postgres

  3. Podziel podany ciąg i przygotuj instrukcję case

  4. Ustawienie schematu w PostgreSQL JDBC nie działa

  5. Funkcja LEAST() w PostgreSQL