.maximum to return a full row not just one value


I have a Rating table in my SQL database and I would like to return the
row containing the highest average rating where the picture_id for that
row is a certain value. I could do this by SQL but I’d like to use the
Ruby functions if it’s possible.

I can get the maximum value of rating like this:

@rating = Rating.maximum(:rating, :conditions => [‘picture_id = ?’,

which works great but only returns the maximum value for the column
“rating” when I want the whole row of values for the record with the
maximum rating.

The SQL would be something like this:

SELECT user_id, picture_id, max(rating) FROM ratings WHERE picture_id =
? GROUP BY user_id, picture_id’, @picture_id]

I’ve not tested that but you get the idea…

So is there anyway of running the above SQL using a ruby function ?

Thanks for any help