如何解决如何在MySql查询中为类似instagram的帖子创建视图?
我的数据库中有3个表:
表1:用户表: userId |用户名| userPass
表2:posts_table: postId | postTitle |用户名
表3:like表: userId | postId
现在,如何在MySql查询中为类似instagram的帖子创建视图?
我希望我的输出表如下所示,所有帖子都显示出来,如果用户喜欢,则数字为1,否则为NULL值
outputTableView:
postId | postTitle | likeCount | userLike(forUsers)
----------------------------------------
1 Title1 100 1 (value 1 for like)
2 Title2 200 NULL
3 Title3 150 1
解决方法
这里是一种选择:
select
p.post_id,p.post_title,count(l.post_id) likes_count,nullif(max(l.user_id = ?),0) user_likes
from posts_table p
left join like_table l on l.post_id = p.post_id
group by p.post_id
问号应替换为您要为其生成报告的用户的ID。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。