1

在我的 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

我需要选择二维。

4

2 回答 2

2

我相信

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

应该适合你(至少对 MySQL、Postgres 和 SQLite3 来说)。

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

PriceList.minimum('value')
于 2012-10-10T21:46:53.750 回答
1

只需按“价值”添加订单:

@prlist = PriceList.find(:first, :conditions => { :id => @search.map(&:price_list_id)}, :order => 'value')
于 2012-10-11T07:14:15.567 回答