2011-07-08 185 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