2011-07-08 145 views
0

我有一个(我希望是容易的)与MySQL查询的问题。MySQL排序查询

我有2个表:文章评论

文章可以有很多意见,以便有在comments表的article_id的外交。

我想获取所有文章,同时将它们循环显示在页面上,然后获取每篇文章的所有评论数。很简单,这是完成的。现在的问题是我想根据评论数量对结果进行排序,但仍然以相同的方式显示结果。

所以基本上我想:

SELECT * 
FROM tbl_articles 
JOIN tbl_comments 
ORDER BY (the most comments); 

我希望这可以在一个单一的查询作为整个查询做的是从多组复选框在一个单一的查询可能看起来像动态构建:

SELECT * 
FROM tbl_articles 
WHERE subject IN (1,2,5) 
    AND medium IN (1,3) 
    AND date_active > NOW() 
    AND... 

我很乐意提供任何进一步信息。

回答

0

喜欢的东西...

SELECT *, COUNT(tbl_comments.id) as comments_count 
FROM tbl_articles JOIN tbl_comments ON (tbl_comments.article_id = tbl_articles.id) 
GROUP BY tbl_comments.article_id 
ORDER BY comments_count; 
+0

完美。非常感谢! – puks1978