Топ 3 записи, упорядоченные по полю в рельсах

В ruby ​​on rails, как мне найти 3 верхних записи моей таблицы, называемые уведомлениями, упорядоченными по определенному полю, в моем случае я хочу упорядочить по полю позиции, которое является целым числом.

Итак, моя таблица уведомлений выглядит так:

Любая помощь будет принята с благодарностью.


person conspirisi    schedule 13.09.2009    source источник


Ответы (2)


Учитывая, что у вас есть класс Notice ActiveRecord, это должно делать: Notice.find(:all, :limit => 3, :order => 'particularField')

person Eimantas    schedule 13.09.2009

Вы бы сделали что-то вроде:

Notice.find(:all,:order => "position", :limit => 3)

Это принесет 3 первые записи, упорядоченные по положению (в этом примере позиции 1,2,3 или первые меньшие). Вы можете изменить значение порядка на «позиция DESC», если вам нужны позиции 20,19,18, например ).

Удачи!

person Alessandra Pereyra    schedule 13.09.2009
comment
спасибо yaraher, ваш ответ сработал, но я дал правильный ответ eimantas, так как вам не нужна часть «ASC». - person conspirisi; 13.09.2009
comment
Без проблем. Обязательно обратите внимание, что вам нужно будет указать либо ASC, либо DESC при работе с некоторыми более сложными запросами, поэтому всегда приятно знать, что он может быть там. - person Alessandra Pereyra; 13.09.2009
comment
вы никогда не должны указывать ASC. Это подразумевается порядком по пункту. - person Omar Qureshi; 13.09.2009
comment
Вы оба правы Омар и заговорщики. Я обновил свой ответ, чтобы показать его правильно. - person Alessandra Pereyra; 14.09.2009