2011-07-08 10 views
0

私はMySQLのクエリで(私は簡単になることを望んでいる)問題があります。記事のコメントテーブル内のarticle_idの外国人があるので、記事が多くのコメントを持つことができますMySQLの並べ替えのクエリ

コメント:

は、私は2つのテーブルを持っています。

私はすべての記事を取得し、whileループをページに表示し、各記事のコメント数をすべて取得したいと考えています。これは簡単です。今問題は、コメントの数に基づいて結果をソートしたいが、同じ方法で結果を表示することです。

だから、基本的に私がしたい:

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

関連する問題