选择2列并按组计数

时间:2014-01-30 16:58:36

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

从表中我需要选择2列,然后按列分组。

Result.select(:word_id, :my_url).group(:my_url).count

所以我写了那行,但输出是:

[...] "https://www.url.com/"=>2 [...]

我需要它:

["https://www.url.com/", 243]=>1

只有当我按:my_url and :word_id分组时才能获得此输出,但我不知道:my_url被复制了多少次。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为你试图通过使用一行来做两件事。基于此,这是不可能的。 group by:my_url正在计算重复的次数而不用担心:word_id刚被选中(AKA被从数据库中拉出)。你可以这样做:

result = Result.select(:my_url, :word_id)

然后你可以做两件事:

result.group(:my_url).count
result.count

另一个选项可能是重写您的问题,为什么您需要此配置可能会更容易帮助您。