PG :: GroupingError:错误:列“events.id”必须出现在GROUP BY子句中或用于聚合函数
事件具有列popularity
和许多关键字。 关键字具有类别和名称。 我试图通过它们的受欢迎程度来命令事件,但是只返回每个关键字名称中最受欢迎的事件,其类别为“分类法”。
这是我的查询:
Event .order(:popularity) .joins(:keywords) .where(keywords: {category: "taxonomy"}) .group("keywords.name")
但我得到以下错误:
PG :: GroupingError:错误:列“events.id”必须出现在GROUP BY子句中或用于聚合函数
我哪里错了?
Event .order(:popularity) .joins(:keywords) .group('events.id') # <====== .where(keywords: { category: 'taxonomy' }) .group('keywords.name')