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

Mysql 根据子查询中的计数显示表结果,mysql,join,count,Mysql,Join,Count,这真的让我头疼,我想这是一个简单的问题 博客表格: blog_id blog_name blog_copy comment_id comment_copy comment_by blog_id 评论表格: blog_id blog_name blog_copy comment_id comment_copy comment_by blog_id 我想显示有超过3条评论的博客项目,并按回复量排序 我尝试了很多查询,包括以下内容,但都不起作用: SELECT *, blog_id

这真的让我头疼,我想这是一个简单的问题

博客表格:

blog_id
blog_name
blog_copy
comment_id
comment_copy
comment_by
blog_id
评论表格:

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

它说,
大多数建议不存在。我用其他方法做过,但它会执行,但总体上不会按它正在查找的博客id计算评论总数

您需要使用
分组方式

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

啊,太好了。非常感谢。