2011-10-13 51 views
6

我有幾個記錄有幾個屬性(A,B,C,D)。如何在ruby中的記錄中查找max屬性?

我希望能夠找到其中記錄有一個給定的屬性值越高,如D.

我該怎麼辦呢?

+1

你能給我們更多的工作嗎?記錄如何存儲? – rwilliams

+0

如果'x'個記錄具有相同的最大屬性值並且我想檢索所有'x'個記錄數? – VoodooChild92

回答

19

你可能會給max_by一看。

objects = [some array of objects] 

object_with_highest_value = objects.max_by {|obj| obj.desired_value } 
2

根據您擁有多少條記錄,在數據庫上執行搜索可能會更高效。我會按照期望的屬性降序排列,並拍下第一條記錄:

User.order('field DESC').first 
相關問題