2014-01-30 50 views
1

从表中我需要选择2列,并按一列分组。选择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有多少次被复制。

我该如何解决这个问题?

回答

0

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

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

然后用,你可以做两件不同的事情:

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

另一种选择是有可能重新措辞你的问题你为什么需要这样的配置可能更容易帮助您。