我目前正在构建一个对话式消息传递系统,需要帮助从数据库中读取消息的顺序。
数据库中消息表的数据库结构如下:
消息ID | 内容 | message_from | message_to | 查看 | 已删除 | 发送日期
我想按发送顺序读出消息,但如果发送多条消息而没有回复,则不要重复用户名。
因此,如果有 3 个 message_from 到同一个 message_to,它们将被显示,然后任何响应都会在此之后出现。但正如我所说,如果同一个人有 3 条消息没有回复,我会先显示用户名,然后再显示内容。
我有以下查询,它提取发送给用户的消息。
SELECT f.username, t.username, m.content, m.sent_date FROM message m
INNER JOIN user f ON f.userid = m.message_from
INNER JOIN user t ON t.userid = m.message_to
WHERE f.username = :username
我已经尽力解释我需要什么,不知道我有多清楚!
谢谢。