2012-10-10 61 views
1

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

@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。

回答

1

通过 '价值' 只要添加顺序:

​​
2

我相信

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

应该为你工作(至少为MySQL,Postgres的和sqlite3的)。

如果你只需要最低值(不是整个行):

PriceList.minimum('value') 
+0

HM,但如何将它连接到我的查询.. – byCoder

+1

'PriceList.where('value = MIN(value)')'不适用于PostgreSQL,不能在WHERE子句中使用聚合。 –

+0

我有mysql db ... – byCoder

相关问题