0

コメントが3つ以上ある記事を選びたい。私はMySQLを使用しており、それぞれのフィールドを持つ次のテーブルがあります。

記事:art_id(主キー)、art_title、art_body、art_date、art_author、art_lang

コメント:com_id(主キー)、com_body、com_date、com_author、com_article(foreign_key)

MySQLエンジン:INNO_DB

関係:com_article --art_id

このクエリを実行するにはどうすればよいですか?

4

1 に答える 1

1

簡単な方法は、次のように HAVING キーワードを使用することです。

SELECT article.*, COUNT(comment.com_id) as comment_count
FROM comments
LEFT OUTER JOIN article ON article.art_id = comments.com_article
GROUP BY article.art_id
HAVING comment_count > 3

簡単に言えば、このクエリはすべてのコメントを調べ、記事の ID でグループ化し、各記事のコメント数をカウントし、3 つ以上のコメントがある「束」のみを選択します。最終的に記事が必要になり、記事のフィールドのみを選択するため、article テーブルにも参加します。これが明確であることを願っています。

これは最適な解決策ではないかもしれませんが、比較的小さなテーブルではうまくいくはずです。

于 2012-11-09T21:05:38.843 に答える