web-dev-qa-db-ja.com

Ruby on Rails:DBカラムから最大値を取得する

現在、私は自分のDBで直接SQLクエリを作成できます。

SELECT MAX(bar) FROM table_name

そして、そのテーブルの最大値を返します。ただし、Railsで同等の呼び出しと見なすものを作成すると、機能しません。呼んでいます:

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

これは単に以下を返します:

[#<Bar >]

私が呼び出している列には一連の識別番号があり、最大のものを探しています。 Railsでこれにアクセスする他の方法はありますか?

109
keybored

モデル名がBarであり、barという名前の列があると仮定すると、これは機能するはずです:

Bar.maximum("bar")

詳細については、優れた 計算に関するレールガイドセクション を参照してください。

242
Dylan Markow

もう一つの方法

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