我的数据库中有两个表

1.用户表

2.POST表(ID,标题)

3.收藏夹表(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


在上面的帖子中ID为1的人有两个收藏夹,但是在我的查询中,我将被计数为1

最佳答案

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

09-05 13:29