mysql - 如何获得 bool 结果 SQL 查询

标签 mysql sql

我正在尝试创建一个 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/

相关文章:

mysql - 如何自定义字符串返回

mysql - 错误代码 : 1055. SELECT 列表的表达式 #2 不在 GROUP BY 中

mysql - 如何将mysql表中的数据加载到cloudera中(使用virtual box启动)

php - 如何创建以 php 变量命名的 mysql 表?

mysql - 检查数据库中两个表之间的数据差异

c# - 我可以在这个网站上进行sql注入(inject)吗

python - SQLAlchemy NULL 标识键

MySQL MyISAM 如何在不锁定表的情况下执行读取?

sql - 聚合查询中切换大小写

javascript - mysql 命令的问题