我的数据库中有两个表
1.故事(id,title,content)
2.Comments(id,story_id,comment)这里的story_id
是id
表中stories
的原键。
为了获取特定帖子的评论,我正在使用此查询
SELECT stories.*,COUNT(stories.id) as totalcomment
FROM stories LEFT JOIN comments ON stories.id=comments.story_id GROUP BY stories.id
问题是即使对于特定帖子没有评论,我也将得到
totalcomment
值为1,但我将得到count(storie.id)
结果为1 最佳答案
您需要计算Comments.story_id
并按Comments.story_id
分组。
每个故事有多个评论,因此按该stories.id
分组时,结果始终为1,因此需要对Comments.story_id
进行计数,以便对于每个故事,它可以同时计算所有评论并组成一个小组通过它。
的SQL
SELECT stories.*,COUNT(Comments.story_id) as totalcomment
FROM stories LEFT JOIN comments ON stories.id=comments.story_id GROUP BY stories.id, Comments.story_id
关于php - 即使没有特定帖子的评论,使用count()获取mysql中帖子的评论总数也总是返回1。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37266801/