一个事件有一个popularity
列和许多关键字。关键字具有类别和名称。我试图按事件的流行程度对事件进行排序,但随后仅从类别为“分类法”的每个关键字名称返回最流行的事件。
这是我的查询:
Event
.order(:popularity)
.joins(:keywords)
.where(keywords: {category: "taxonomy"})
.group("keywords.name")
但我得到以下错误:
我要去哪里错了?
最佳答案
Event
.order(:popularity)
.joins(:keywords)
.group('events.id') # <======
.where(keywords: { category: 'taxonomy' })
.group('keywords.name')
关于ruby-on-rails - PG::GroupingError:错误:列 "events.id"必须出现在GROUP BY子句中或在聚合函数中使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40116199/