我正在用PHP创建一个消息系统,但我对MySQL查询有点问题。我想要一个易于理解的简单而干净的解决方案。查询应将消息排序为对话,然后显示用户名+最新消息。论坛上有一些解决方案,但它们都很复杂,我很难理解它们。
我有这样的数据库设置:
(messages) id, messages, sentby, sentto
我的查询如下:
SELECT m1.*
FROM messages m1
LEFT
JOIN messages m2
ON m1.sentby => m2.sentby
AND m1.id < m2.id
WHERE m2.id IS NULL
AND m1.sentto = ?
查询将消息排序为对话并以良好的顺序显示它们,但不显示每个对话的最后消息。所有消息都有一个id,所以如果我按ID排序它们会显示最新消息吗?
我是众多初学者之一,所以要友好并详细描述解决方案。我能得到的所有帮助都值得赞赏!