我正在尝试创建一个 sql 查询,它将返回 imageId、这张图片的总点赞数,以及当前用户是否喜欢该图片的 bool 值。
我目前拥有的是:
Select i.imageId, count(l.likeId) as numOfLikes
FROM Images as i LEFT JOIN Likes as l USING (imageID)
WHERE i.userId = '16'
GROUP BY i.imageId
ORDER BY i.dateCreated DESC
这对每张图片的图片 ID 和总点赞数非常有用。我不确定我如何能够确定用户是否喜欢同一查询中的该图像。
提前致谢!
最佳答案
这样的事情应该可行。
Select i.imageId, count(l.likeId) as numOfLikes
, count(likes2.*) LikesByUser
FROM Images as i LEFT JOIN Likes as l USING (imageID)
left join likes likes2 using (imageID, UserId)
WHERE i.userId = '16'
GROUP BY i.imageId
ORDER BY i.dateCreated DESC
LikesByUser 应为 0 或 1。
关于mysql - 如何获得 bool 结果 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16776967/