Ruby on Rails: получение максимального значения из столбца БД - PullRequest
108 голосов
/ 12 февраля 2011

В настоящее время я могу сделать простой SQL-запрос к моей БД:

SELECT MAX(bar) FROM table_name

И он возвращается с максимальным значением в этой таблице. Однако когда я делаю то, что считаю эквивалентным вызовом в Rails, это не работает. Я звоню:

Bar.all(:select => "Max(bar)")

Это просто возвращается с:

[#<Bar >]

В столбце, по которому я звоню, указан ряд идентифицирующих номеров, я ищу самый большой. Есть ли другой способ доступа к этому в Rails?

Ответы [ 2 ]

238 голосов
/ 12 февраля 2011

Если ваша модель называется Bar и в ней есть столбец с именем bar, это должно сработать:

Bar.maximum("bar")

См. Превосходный раздел Rails Guide по расчетам для получения болееИнформация.

2 голосов
/ 04 апреля 2012

еще один способ

Bar.select("Max(bar) as max_bar").first.max_bar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...