如何在 MySql 查询中为类似 Instagram 的帖子创建视图?
Posted
技术标签:
【中文标题】如何在 MySql 查询中为类似 Instagram 的帖子创建视图?【英文标题】:how can create view for like a post similar instagram in MySql query? 【发布时间】:2020-10-03 19:08:28 【问题描述】:我的数据库中有 3 个表:
表 1:user_table: 用户名 |用户名 |用户密码
表 2:posts_table: 邮编 |文章标题 |用户ID
表 3:likeTable: 用户名 |帖子编号
现在,如何在 mysql 查询中为类似帖子的 Instagram 创建视图?
我希望我的输出表如下所示,显示所有帖子,如果用户喜欢,则数字为 1,否则为 NULL 值
输出表视图:
postId | postTitle | likeCount | userLike(forUsers)
----------------------------------------
1 Title1 100 1 (value 1 for like)
2 Title2 200 NULL
3 Title3 150 1
【问题讨论】:
【参考方案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。
【讨论】:
感谢 GMB。我想为我的应用程序实现这个。如何使用 View 做到这一点? @meisamemadian:视图不带参数。您可以直接从您的应用程序运行查询,将用户 ID 作为参数传递。以上是关于如何在 MySql 查询中为类似 Instagram 的帖子创建视图?的主要内容,如果未能解决你的问题,请参考以下文章
如何编写一个同时适用于 HSQLDB 和 MySQL 的查询以在 WHERE 子句中为日期添加天数?