Sort and Paginate articles by # number of comments

hello list,

i am programming a function to sort articles by the number of comments they had today but i keep having sql errors
i want to use something like (doesnt work actually)

@articles = Articles.find(:all, :include => ‘comments’, :conditions => [’
comments.created_at >’, Time.now - 86400], :order => 'COUNT(comments.id) ')

it is in :order i dont really know what to put in

i can do it in about 2 lines without the :order and then with a sort! but i want now to paginate so i need to wrap it all in 1 sql query.

??

thanks

This one was a brainbuster. Seriously. I'm lucky it's the end of the
work day because I'm done.
This is a beast of a query, and with the 200,000 row child table I
tested it on, it took a while.

    select *
    from articles
    inner join comments on articles.id = comments.article_id
    group by articles.id
    order by count(*) DESC;

BAM.

Heri R> wrote:

thanks jason, but doesnt seem to work, i get a “#HY000 Invalid use of group function” error

Article.find_by_sql(select articles.*, count(comments.id)
inner join comments on articles.id = comments.article_id
group by articles.id WHERE comments.created_at > …yesterdaysDate…
order by 2 DESC)

works though (instead of order by count(*)