根据子查询中的计数显示表结果

时间:2014-09-07 16:00:52

标签: mysql join count

这真的是我的头脑,这是一个简单的查询,我想。

博客表:

blog_id
blog_name
blog_copy

评论表格:

comment_id
comment_copy
comment_by
blog_id

我希望显示有超过3条评论的博客项目,并按回复量排序。

我尝试了许多查询,包括这个,但它不起作用:

SELECT 
    *, blog_id as BID , 
    (SELECT blog_id 
     FROM comments 
     WHERE blog = BID HAVING COUNT(*) > 3) AS t2
FROM blog
WHERE mostcomments > '3'
ORDER by mostcomments ASC

它说mostcomments不存在。我已经通过其他方式完成了它并且执行但是总体上对总计的评论不是按照blog_id查找

1 个答案:

答案 0 :(得分:1)

您需要使用GROUP BY

select b.blog_id, count(*)
from blog b
  join comments c on b.blog_id = c.blog_id
group by b.blog_id
having count(*) > 2 
order by count(*) desc