Получение PG :: GroupingError при попытке агрегировать все сообщения с голосами больше 0 - PullRequest
0 голосов
/ 26 августа 2018

Я попробовал 4 различных алгоритма SQL, чтобы сгруппировать сообщения по кэшированным голосам с итоговыми значениями больше 0, а столбец фотографий не должен быть равен нулю.

Моя последняя попытка ниже.

@popular_user_photos = Post.where.not('posts.photo' => nil).having('cached_votes_total > 0').order(created_at: :desc).last(20)   

Я получаю сообщение об ошибке ниже.

ActionView::Template::Error (PG::GroupingError: ERROR:  column "posts.id" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT  "posts".* FROM "posts" WHERE ("p...

1 Ответ

0 голосов
/ 26 августа 2018

Исправленный оператор SQL:

@popular_user_photos = Post.where.not('posts.photo' => nil).where('cached_votes_total > 0').order(created_at: :desc).last(20)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...