RubyonRails: 从 DB 列获取 max 值

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

SELECT MAX(bar) FROM table_name

然后返回该表中的最大值。然而,当我在 Rails 中进行我认为是等价的调用时,它并不工作。我打电话来:

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

返回的结果是:

[#<Bar >]

在我呼叫的列中有一系列识别号码,我要找的是最大的那个。在 Rails 中是否有其他访问这个问题的方法?

79242 次浏览

假设您的型号名称是 Bar,并且它有一个名为 bar的列,那么应该可以这样做:

Bar.maximum(:bar)

更多信息请参阅 计算: : 最大上出色的 Rails Guides 部分。

还有一条路

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