Ruby on Rails: getting the max value from a DB column
Currently I can make the straight-up SQL query on my DB:
SELECT MAX(bar) FROM table_name
And it returns with the max value in that table. When I make what I consider to be an equivalent call in Rails, however, it does not work. I am calling:
Bar.all(:select => "Max(bar)")
This simply returns with:
[#<Bar >]
In the column I'm calling on is a series of identifying numbers, I'm looking for the largest one. Is there some other way of accessing this in Rails?
Assuming your model name is Bar
and it has a column named bar
, this should work:
Bar.maximum("bar")
See the excellent Rails Guides section on Calculations for more info.
one more way
Bar.select("Max(bar) as max_bar").first.max_bar