PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

GroupingError:ERROR:колоната трябва да се появи в клаузата GROUP BY или да се използва в агрегатна функция

Нямате право да избирате reviews.id (избран имплицитно чрез заместващия знак * ), без да го добавяте към GROUP BY клауза или прилагане на агрегатна функция като avg() . Решението е да направите едно от следните:

  1. Премахнете заместващия знак * от избраните от вас
  2. Добавете полето reviews.id към вашата групова клауза
  3. Изберете reviews.id изрично и приложете агрегатна функция към него (напр. sum(reviews.id) )
  4. Заменете заместващия знак * със специфичния за таблицата заместващ знак albums.*

Вторият и третият вариант обаче нямат особен смисъл във вашия сценарий. Въз основа на вашия коментар добавих вариант четири.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NOT IN в postgresql не работи

  2. Как да получа min/max от две цели числа в Postgres/SQL?

  3. Как да изчислим сумата от множество колони в PostgreSQL

  4. Spark Dataframes UPSERT към таблица Postgres

  5. Какъв тип JOIN да използвате