Mysql使用count()加入查询以获取用户收藏帖子

时间:2017-10-04 10:07:49

标签: php mysql

我的数据库中有两个表

1.USER TABLE

2.POST表(id,title)

3.FAVOURITE TABLE(id,post_id,user_id)

我希望发布特定用户的喜爱以及每篇帖子的总收藏。

SELECT post.title,COUNT(favourite.post_id) as total_favourites FROM post
JOIN favourite ON post.id=favourite.post_id
WHERE favourite.user_id=119 GROUP BY favourite.post_id

我得到了结果,但total_favourites存在问题,即使特定帖子中有多个收藏,也始终将其计为1

例如:

最喜欢的表

 id post_id,user_id
   1  1       1
   1  1       2

在上面的帖子中,身份1有两个收藏夹,但在我的查询中,我会计为1

2 个答案:

答案 0 :(得分:0)

用户只能将帖子标记为收藏一次,因此总计数始终为1。

答案 1 :(得分:0)

尝试使用user_id进行分组。