在我的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。
答案 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')