.maximum to return a full row not just one value

Hi,

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 = ?', @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

Phil