Найти наиболее встречающиеся записи. - PullRequest
1 голос
/ 02 октября 2009

Предположим, в таблице mysql есть 3 поля: id, word и date. Поле слова не является уникальным полем, поэтому многие записи содержат одно и то же слово. Так как же узнать, какое слово больше всего повторяется в записях? Самые повторяющиеся 5 слов ..

Ответы [ 3 ]

1 голос
/ 02 октября 2009

Похоже, что оба приведенных выше ответа выводят на печать только самую последнюю запись. Я думаю, что для получения наиболее частых вам нужно будет использовать больше SQL. : - (

Предполагается, что у вас есть модель под названием Message с полем с именем 'text', которое содержит сообщения ...

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

Отказ от ответственности: я никогда не пытался делать это, кроме как для проверки того, что сам код выполняется.

1 голос
/ 02 октября 2009
Model.find(:all, :conditions => ["created_at > ?", DateTime.now - 2.hours], :limit => 5, :order => "desc")
0 голосов
/ 02 октября 2009
class Model < ActiveRecord::Base

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

end

Model.recent
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...