我需要做下面的查詢:ORDER BY和限制
SELECT * FROM "specimens" ORDER BY distribution_sheet_id DESC LIMIT 10
,我已經把:
<%= Specimen.last(:order => :distribution_sheet_id).id %>
我喜歡輸出「極限10」不限制1.我想它了。去年,但我可以表達它在其他的方式來限制10
感謝
我需要做下面的查詢:ORDER BY和限制
SELECT * FROM "specimens" ORDER BY distribution_sheet_id DESC LIMIT 10
,我已經把:
<%= Specimen.last(:order => :distribution_sheet_id).id %>
我喜歡輸出「極限10」不限制1.我想它了。去年,但我可以表達它在其他的方式來限制10
感謝
<ul>
<% Specimen.find(:all, :order => 'distribution_sheet_id desc', :limit => 10).each do |specimen| %>
<li><%= specimen.id %></li>
<% end %>
</ul>
假設你正在使用Rails 3
<%= Specimen.limit(10).order("distribution_sheet_id").all %>
請注意,如果你限制超過1分的記錄,你不能在結束通話#id
因爲結果是一個數組。
要獲得所有的ID
<%= Specimen.limit(10).order("distribution_sheet_id").map(&:id) %>
對於Rails的2.3使用舊的基於散列的條件。
<%= Specimen.all(:order => "distribution_sheet_id", :limit => 10) %>
和同樣適用於ID
<%= Specimen.all(:order => "distribution_sheet_id", :limit => 10).map(&:id) %>
這裏我使用的方法#to_sentence
加入所有的ID。根據您的使用情況調整代碼。
<%= Specimen.all(:order => "distribution_sheet_id", :limit => 10).map(&:id).to_sentence %>
即時得到未定義的方法'秩序」爲#<類別:0xc9716a0> – Mike 2011-04-04 11:51:46
你on Rails的<3.0。而是使用:'Specimen.find(:all,:order =>'distribution_sheet_id',:limit => 10)' – 2011-04-04 11:56:41
其打印出#,#,#,#,#,#,#,#,#,# – Mike 2011-04-04 11:59:04