【发布时间】:2012-01-17 08:41:38
【问题描述】:
所以,我有这个表结构
+----+---------+-----------+---------+------+---------------------+
| id | to_user | from_user | message | read | sent |
+----+---------+-----------+---------+------+---------------------+
| 1 | 2 | 1 | test | 0 | 2012-01-11 13:20:14 |
+----+---------+-----------+---------+------+---------------------+
如您所见,我将它用于非常简单的聊天,现在我想做的是获取每个对话的列表。所以我需要找到一种从每个用户的对话中选择一个最后一条消息的方法。所以我需要类似的东西
select *
from `messages`
where `to_user` = 2 --(this is my user id)
and `to_user` = `from_user`
LIMIT 1
现在我知道LIMIT 总是会返回 1 条记录,其他逻辑可能不太好,无论如何,如果有人在这里得到我想要的,可以帮助我一点:)
【问题讨论】:
-
如果您要进行多个“聊天”会话,我建议您修改查询以识别聊天会话。如果“from_user”正在与 2-3 人聊天,“to_user”也是如此。您如何知道从一个人到他们正在与之聊天的正确聊天会话的最新聊天元素?