2013-12-19 25 views
0

我在表中有一些記錄,列中有:id, link, title。我想知道link有多少行具有相同的值。檢查表中某行重複多少次

我對如何做到這一點有一個想法,但我認爲有一個簡單的解決方案。

o = Repo.select(:link).distinct 
o.each do |l| 
    Repo.where(link: l.link).size 
end 

謝謝。

+0

在這[鏈接]看看'group'(http://guides.rubyonrails.org/active_record_querying.html#group )。 – AbM

+0

選擇(「link as link,count(*)as count」)。group(:link),謝謝 – John

回答

0

按照我上面的評論中,group方法組根據所選參數查詢。所以:

Repo.group(:link).count 

將返回一個哈希如:

{link1=> count_for_link_1, link2=> count_for_link_2 ...} 
1

您可以使用:

Repo.select('count(*)').group(:link)