gpt4 book ai didi

php - 私信系统查询

转载 作者:行者123 更新时间:2023-11-29 00:55:40 24 4
gpt4 key购买 nike

我正在使用 mysql 制作私有(private)消息系统。创建此表:

1) users (id, name)
2) messages(id, text, created)
3) user_has_messages(id, user_id, message_id, is_sender)

表 user_has_messages 存储消息历史记录,因此每条消息有 2 行(“发送者”用户和“接收者”用户)。每条消息 2 行,因为发件人应该看到他的消息,即使接收者删除了它。所以我需要为具体用户获取所有对话框的列表,其中包含最后一条消息。如果你看一下这张照片应该更容易理解:Explanation

问题是我无法为此任务构建正确的查询。也许糟​​糕的数据库设计?

最佳答案

看起来这个查询是我需要的:

SELECT * FROM users_has_messages uhm1 
WHERE uhm1.message_id=(
SELECT message_id FROM users_has_messages uhm2
WHERE (uhm1.receiver_id=uhm2.receiver_id AND uhm1.sender_id=uhm2.sender_id)
OR uhm1.receiver_id=uhm2.sender_id ORDER BY message_id DESC limit 1)
AND user_id=1

关于php - 私信系统查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6276092/

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