Rails 2 to Rails 3 - How to convert this sql query ?

Hello all,

Can someone help me with this query ?

Here is the query used in rails 2. The idea here is to obtain the top 10 widgets. Widget.find(:all, :select => 'widget_type_id, COUNT(widget_type_id) AS widgettypeid', :group => 'widget_type_id', :order => 'widgettypeid DESC', :limit => 10)

This is deprecated and i want to port it to rails 3.

Thanks for your help.

Dominique.

I'm not sure how to do the "COUNT(widget_type_id) AS widgettypeid" as this doesn't seem to work below but it is close. hoping someone will chime in. :slight_smile: I'm sure I'm missing something simple.

Widget.group(:widget_type_id).select('widget_type_id, count(widget_type_id) AS widgettypeid').order(:widgettypeid).limit(10)

No docs on this at http://api.rubyonrails.org/classes/ActiveRecord/QueryMethods.html#method-i-group but guide has some examples. Active Record Query Interface — Ruby on Rails Guides

Great ! This seems to work perfectly for me. Thanks for your help. I will take a big look at this to understand how it is working.

Dominique.