ruby-on-rails - PG::GroupingError:错误:列 "events.id"必须出现在GROUP BY子句中或在聚合函数中使用

标签 ruby-on-rails activerecord

一个事件有一个popularity列和许多关键字。关键字具有类别和名称。我试图按事件的流行程度对事件进行排序,但随后仅从类别为“分类法”的每个关键字名称返回最流行的事件。

这是我的查询:

Event
  .order(:popularity)
  .joins(:keywords)
  .where(keywords: {category: "taxonomy"})
  .group("keywords.name")

但我得到以下错误:

PG::GroupingError: ERROR: column "events.id" must appear in the GROUP BY clause or be used in an aggregate function



我要去哪里错了?

最佳答案

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/

相关文章:

ruby-on-rails - 将数组转换为 ActiveRecord::Relation

php - MySQL Codeigniter - $this->db->query 和 CLI 结果不匹配

ruby-on-rails - Ruby,如何为 hostmonster 上的 Rails 项目设置 GEM_PATH?

ruby-on-rails - 尽管在 Heroku 上使用 Rails 设置了新的参数组,但无法在 RDS 中存储 UTF-8

ruby-on-rails - 是否有在Rails中使用哈希值的find_or_create_by_?

mysql - 无法选择按created_at分组的行

ruby-on-rails - Rails - 从参数更新对象

ruby-on-rails - ActiveRecord 中的零个或一个关联

html - 在不返回服务器的情况下呈现 PDF (wicked_pdf)

ruby-on-rails - ApplicationRecord 关联方法查找如何工作?