MySQL Order By Association Size

Is it possible to write this query (or some other query that does essentially the same) using just ActiveRecord.find?

SELECT posts.title, COUNT(comments.id) FROM posts, comments WHERE posts.id = comments.post_id GROUP BY posts.id ORDER BY 2 DESC

Basically the model Post has many Comments and I want to get the posts with most comments. Also, if possible, I'd also like the query to select posts even if the comment count is 0, with no particular order.

Thanks in advance.

Ok, this seems to work:

Post.find(:all, :include => [ :comments ], :order => "COUNT(comments.id) DESC", :group => "posts.id")

But it seems to return the whole thing on a single array or something, I assumed this is caused by :group, but it messes up my post listing page. Any ideas?