2015-10-25 56 views
1

我有兩個表格,ArticleComments。 現在我想知道少於5條評論的文章數量。 我該怎麼做?如果相關記錄的計數小於一個數字,請選擇記錄

文章:

id | author_id | title | cotent 

評論:

id | article_id | author_id | content 

編輯:原來的問題是關於量比較大,但現在其實我是想小於(例如,< 5)。如果沒有評論記錄的文章,看來這篇文章沒有列出。

回答

1

加入兩個表來獲取文章的評論,然後組它編號以瞭解每篇文章的評論數量。

試試這個:

​​

對於有評論< = 5篇:

select art.id,count(*) as comment_count 
from articles art 
left join comments com on art.id=com.article_id 
group by art.id 
having comment_count<=5 
+0

我想對此發表評論小於5,作爲編輯的情況。這是否包括沒有評論文章的情況?如果沒有任何文章評論,似乎沒有結果返回。 – mrmoment

+0

@mrmoment:我也添加了少於5的查詢。檢查一次。 –

+0

如果在文章中存在id = 3的文章,但評論中沒有對article_id = 3的任何評論。此查詢不會在我的測試中返回文章ID = 3。 – mrmoment

1

文章試試這個

SELECT a.id, COUNT(*) 
FROM 
    articles a 
    LEFT OUTER JOIN comments c ON a.id=c.article_id 
GROUP BY a.id 
HAVING COUNT(*) > 5 

這將有超過5個評論返回所有articlesid,各自的評論數