查找最常出现的记录。

时间:2009-10-02 09:14:14

标签: mysql ruby-on-rails

假设mysql表中有3个字段:id,word和date。 单词字段不是唯一字段,因此许多记录具有相同的单词。 那么如何才能找出记录中最重复的单词呢?最重复的5个单词..

3 个答案:

答案 0 :(得分:1)

Model.find(:all, :conditions => ["created_at > ?", DateTime.now - 2.hours], :limit => 5, :order => "desc")

答案 1 :(得分:1)

上述答案似乎只打印了最新的记录。我认为最频繁的是你需要使用更多的SQL。 : - (

假设您有一个名为Message的模型,其中包含一个名为'text'的字段,其中包含消息......

Message.find(:all, :select => '*, COUNT(*) AS count',
                   :group  => 'text',
                   :order  => 'count DESC',
                   :limit  => 5 )

免责声明:除了验证代码本身是否运行之外,我从未尝试过这样做。

答案 2 :(得分:0)

class Model < ActiveRecord::Base

  named_scope :recent, :conditions => ["created_at > ?", DateTime.now - 2.hours], :limit => 5, :order => "desc"

end

Model.recent