如何选择rails中具有最低字段值的记录

时间:2012-10-10 21:40:30

标签: ruby-on-rails ruby

在我的rails应用程序中我获取一些数据,它的结果可能是null,一个或多个相同的记录但具有不同的价格值,所以我需要迭代数组并选择具有最低价格值的记录(数组值)。我怎样才能做到这一点?我有这样的代码部分:

@prlist = PriceList.find(:first, :conditions => { :id => @search.map(&:price_list_id)})

例如:

id name value
1 ololo 15
2 ololo 14
3 ololo 26

我需要选择2-d。

2 个答案:

答案 0 :(得分:2)

我相信

PriceList.where('value = MIN(value)')

应该适合你(至少对MySQL,Postgres和SQLite3而言)。

如果您只需要最小值(不是整行):

PriceList.minimum('value')

答案 1 :(得分:1)

只需按'值'添加订单:

@prlist = PriceList.find(:first, :conditions => { :id => @search.map(&:price_list_id)}, :order => 'value')