gpt4 book ai didi

mysql - 选择用户未回复的所有帖子?

转载 作者:行者123 更新时间:2023-11-29 10:47:03 24 4
gpt4 key购买 nike

我有一个显示帖子的网站,用户可以对其进行投票。他们投票一次后,我不希望它再次显示给该用户。因此,我需要一个查询来轮询所有帖子并返回用户尚未回复的帖子。

我认为最简单的方法是拥有一个帖子表、响应表和用户表。响应表可以包括 postId 和 userId。这可以让我看到用户已回复的所有帖子,但我不知道如何翻转它以显示否定。而且这样做似乎会很慢。

最佳答案

要查找给定用户尚未看过的所有帖子,您可以尝试以下查询:

SELECT p.*
FROM posts p
WHERE NOT EXISTS (SELECT 1 FROM responses r
WHERE r.postId = p.postId AND r.userId = <some value>)

作为使用 NOT EXISTS 的替代方法,您还可以使用 LEFT JOIN 来表达:

SELECT p.*
FROM posts p
LEFT JOIN responses r
ON p.postId = r.postId AND
r.userId = <some value>
WHERE r.postId IS NULL

关于mysql - 选择用户未回复的所有帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44361857/

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