it-swarm-ru.tech

Ruby в Rails: получение максимального значения из столбца БД

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

SELECT MAX(bar) FROM table_name

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

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

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

[#<Bar >]

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

107
keybored

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

Bar.maximum("bar")

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

236
Dylan Markow

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

Bar.select("Max(bar) as max_bar").first.max_bar
2
Manish Kasera