0

我的视图索引中有这段代码,它显示了我的商品的价格。

      <% for import_price in ItemImportPrice.find(:all,
         :conditions => ['itemCode = ? and beginDate = ?', item.short_name, item_days.day) ], 
                                         :order => ['price asc']) %>
          <%= import_price.price %>  
          <%= import_price.superItemType %>
          ...
      <% end %>

在视图中,我有以下结果:

89.0     I 
99.0     I 
109.0    I 
119.0    I 
129.0    I 
129.0    O
139.0    O
149.0    O 
159.0    O
439.0    B
459.0    B
529.0    D 
849.0    D 
949.0    D 

如何这样做只会显示 superItemType(I、O、B、D)的最低价格?

如果我添加 :group => "superStateroomType" 它会显示 4 个项目,但价格不是最低的。

PS可能是这样做的方法,但我不知道如何将它应用于所有人......

ItemImportPrice.all(:select => "Min(price) as min_price", :conditions => ["itemCode = ? and beginDate = ?", item.short_name, item_days.day]).first.min_price
4

2 回答 2

0

请尝试

ItemImportPrice.select('MIN(price) AS min_price, superItemType').group('superItemType')
于 2013-09-13T10:35:40.393 回答
0

你可以像这样使用它:

ItemImportPrice.all(:select => "superItemType, Min(price) as min_price", :conditions => ["itemCode = ? and beginDate = ?", item.short_name, item_days.day], :group =>"superItemType" ).first.min_price

于 2013-09-13T10:35:52.610 回答