2012-11-09 65 views
0

我想選擇有3條或更多條評論的文章。 我使用MySQL和我有各自的領域以下表:選擇3條或更多評論的文章

ARTICLE:art_id(主鍵),art_title,art_body,art_date,art_author,art_lang

COMMENT:com_id(主鍵),com_body, com_date,com_author,com_article(foreign_key)

MySQL的引擎:INNO_DB

關係:com_article - art_id

我如何執行此查詢?

回答

1

一個簡單的方法將使用a HAVING keyword,如:

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+計數的「串」。我們也加入了文章列表,因爲我們最終需要文章並只選擇文章的字段。希望這是明確的。

這可能不是最優化的解決方案,但應該適用於相對較小的表格。