2011-02-11 250 views
93

獲得最大值目前,我可以讓我的DB的直線上升。SQL查詢:Ruby on Rails的:從數據庫列

SELECT MAX(bar) FROM table_name 

,並將其與該表中的最大值返回。但是,當我在Rails中做出我認爲是等效的調用時,它不起作用。我打電話:

[#<Bar >] 

在我打電話的列是一系列的識別號,我正在尋找最大的一個:

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

這只是與返回。有沒有其他方式在Rails中訪問它?

回答

203

假設您的型號名稱爲Bar,它有一個名爲bar列,這應該工作:

Bar.maximum("bar") 

更多信息請參閱優秀Rails Guides section on Calculations

+0

啊哈!對,你就是這樣做的。我會盡快檢查你的答案,因爲SO會讓我這樣做。謝謝! – keybored 2011-02-11 21:09:34

2

另一種方式

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

你爲什麼要這樣做?更詳細的,並執行與`Bar.maximum(:bar)`完全相同的查詢,所以我沒有理由「推薦」這個答案... – nathanvda 2014-10-27 15:42:45