У меня есть код в моем контроллере, который ранжирует альбомы по самым высоким средним рейтингам обзора (используется код из этого решения Как отображать альбомы с наивысшим рейтингом через отношения с просмотром has_many):
@albums = Album.joins(:reviews).select("*, avg(reviews.rating) as average_rating").group("albums.id").order("average_rating DESC")
Этот код отлично работает в моей среде разработки (sqlite3), однако, когда я нажал код на герою и на postgresql, я получил эту ошибку:
PG::GroupingError: ERROR: column "reviews.id" must appear in the GROUP BY clause or be used in an aggregate function
Я понимаю, что это довольно распространенная проблема, я немного неопытен SQL, поэтому мне трудно реорганизовать код, чтобы он работал как в моей среде разработки, так и в производственной среде.