Home  >  Article  >  Backend Development  >  用group by 不符合条件他不返回数据

用group by 不符合条件他不返回数据

WBOY
WBOYOriginal
2016-06-23 14:40:15982browse

如:posts帖子表
create table posts(
posts_id,
forumid, (论坛ID)
posts_title,
posts_postTime,
)

comments评论表
create table comments( 
comments_id,
postsid,
comments_content,
comments_postTime,
 )

我要的结果是:读出论坛ID为1的所有帖子,并统计每个帖子的评论总数.
我用count(comments_id) AS commentsNum 统计评论,但帖子在评论表没有评论,group by 就忽略了
posts_id  forumid   commentsNum
 1           1         4
 2           1         5
 3           1         4
 4           1         0
我要当帖子在评论表里没有评论的时候,返回0,或者返回Null也行啊,怎么弄


回复讨论(解决方案)

select a.posts_id,a.forumid,count(b.comments_id) as commentsNum  from posts a left join comments b on a.posts_id=b.postsidgroup by b.postsid having a.forumid=1

解决了,谢版主,有想到Having 却没去用 = = 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn