ActiveRecord分组

时间:2013-11-13 14:06:23

标签: ruby-on-rails activerecord ruby-on-rails-3.2 ruby-on-rails-4

我在project model

中有这个查询
report = self.reports.group(:key_id)
report.select('key_id, count(*) as count')

我需要添加什么才能从level表中获取另一列(reports)?

我尝试将我的专栏添加到select,但这意味着我必须对其进行分组,我只想通过key_id

获取唯一记录

谢谢

1 个答案:

答案 0 :(得分:0)

如果要包含有关其他字段的信息,则必须将该字段包含在group表达式中或作为聚合字段的一部分。这是SQL的一个基本方面。

例如,如果要计算与每个level关联的key_id的各种值的出现次数,则可以添加count(level)列。聚合字段可以任意“花哨”,例如,如您在评论中提到的那样,计算各个频段内level的出现次数。