Ruby on Rails:从DB列获取最大值

时间:2011-02-11 21:05:34

标签: sql ruby-on-rails

目前我可以在我的数据库上进行直接的SQL查询:

SELECT MAX(bar) FROM table_name

它返回该表中的最大值。但是,当我在Rails中创建我认为是等效的调用时,它不起作用。我在打电话:

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

这只是返回:

[#<Bar >]

在我要求的专栏中是一系列识别号码,我正在寻找最大的号码。还有其他方法可以在Rails中访问它吗?

2 个答案:

答案 0 :(得分:235)

假设您的模型名称为Bar并且其名称为bar,则应该可以使用:

Bar.maximum("bar")

有关详细信息,请参阅优秀的Rails Guides section on Calculations

答案 1 :(得分:2)

另一种方式

Bar.select("Max(bar) as max_bar").first.max_bar