gpt4 book ai didi

php - 选择用户以前没有看过的帖子

转载 作者:行者123 更新时间:2023-11-29 08:42:26 24 4
gpt4 key购买 nike

我正在寻找创建以下功能的最有效方法。用户将加载一个页面,该页面将为他们提供随机帖子(来自 user_post 表),但必须排除他们之前查看过的帖子。我的数据结构是(简化):

user_post
---------
id (PK)


user_post_view
--------------
id (PK)
user_id
user_post_id

其中 user_post 是存储的帖子,而 user_post_view 将用户与他们查看过的帖子相关联。因此,用英语查询将是:

从 user_post 表中随机选择一条没有 user_post_view 记录的帖子

我正在使用 Yii 框架,但即使是“普通”SQL 语句也会有所帮助。

最佳答案

SELECT * FROM user_post p where 
your_user_id NOT IN (SELECT user_id FROM user_post_view WHERE user_post_id = p.id)

编辑:

EXISTS 实际上可能在这里更有意义......并且我添加了您的 LIMIT 1,以防您只想要 1 个帖子

SELECT * FROM user_post p where 
NOT EXISTS (SELECT user_id FROM user_post_view WHERE user_post_id = p.id AND
user_id = your_user_id) LIMIT 1

关于php - 选择用户以前没有看过的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13435975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com