User.find(:all,
:joins => "INNER JOIN (
SELECT COUNT(id) as count, user_id
FROM opinions
GROUP BY user_id
) AS opinions
ON users.id = opinions.user_id,
:order => "opinions.count DESC")
Ja mam
@loosers = StockQuote.find(:all,
:joins => "INNER JOIN (
SELECT MIN(change_percent) AS change_percent, id
FROM stock_quotes
GROUP BY stock_name
) AS sq
ON sq.id = stock_quotes.id",
:order => "change_percent ASC", :limit => 5)
Wyglada na to ze dziala