gpt4 book ai didi

mysql - 将分组帖子标记为已读或未读 mysql

转载 作者:行者123 更新时间:2023-11-29 09:56:33 25 4
gpt4 key购买 nike

我有一个 php 系统,用户可以使用图像创建许多帖子,其他用户可以通过单击作者的姓名来查看这些分组的帖子。

当用户 1 发布新内容时,用户 2 会将其视为新内容(用户 1 的名称将带有下划线,表示其中有未见过的帖子)。这就是我的问题,要知道 user2 是否看过 user1 的所有帖子。

select c.user, count(v.id)

from posts s

join cadastro c on s.user=c.id
left join posts_view v ON v.posts_id = s.id

group by s.user
order by s.id desc limit 20

我尝试使用此计数 v.id 来检查 user2 是否看过帖子,但 user1 可能创建了很多帖子,我需要知道 user2 是否看过所有帖子。有什么想法如何做到这一点吗?

我的 table :

帖子:

 `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`user` int(11) UNSIGNED NOT NULL,
`foto` varchar(400),
`data` datetime NOT NULL,
`ip` varchar(20),

帖 subview

 `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`posts_id` int(11) UNSIGNED NOT NULL, //foreign key to posts id
`user` int(11) UNSIGNED NOT NULL, //the user who saw the post

如何知道活跃用户是否已阅读用户的所有帖子?

最佳答案

 SELECT distinct(P.user) 
FROM posts_view PV
JOIN posts P ON P.id = PV.posts_id
WHERE NOT EXISTS (SELECT *
FROM posts_view
WHERE posts_view.user = userID
AND posts_view.posts_id = P.id)

希望这有帮助。

关于mysql - 将分组帖子标记为已读或未读 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53742968/

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