【发布时间】:2018-05-13 22:02:19
【问题描述】:
我的数据库中有两个表
1.用户表
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
在上面的帖子中有 id 1 有两个收藏夹,但在我的查询中,我将被视为 1
【问题讨论】:
-
使用
COUNT(*)而不是COUNT(favourite.post_id) -
让我试试那个
-
@AlivetoDie 我还是一样