我一直在寻找很多,但可能我不知道如何正确地提出这个问题。
我将所有用户之间的所有聊天消息存储在名为的表中'user_messages'
,如下所示:
message_from_user_id | message_to_user_id | message_content | message_date
1 | 2 | "hey" | 07:36
1 | 2 | "how are u?" | 07:37
2 | 1 | "hey, im fine" | 07:38
3 | 1 | "wassup" | 09:21
4 | 2 | "wow" | 11:55
5 | 1 | "example" | 5:34
现在假设我是 id 为 1 的用户。我想显示我与所有人的最新聊天记录(类似于 messenger)。
我想达到的结果是:
message_from_user_id | message_to_user_id | message_content | message_date
3 | 1 | "wassup" | 09:21
2 | 1 | "hey, im fine" | 07:38
5 | 1 | "example" | 5:34
所以基本上我需要选择所有消息,message_from_user_id = 1
但message_to_user_id = 1
我怎样才能使每个聊天的唯一一个最新结果显示?
即使在这种情况下:
message_from_user_id | message_to_user_id | message_content | message_date
1 | 2 | "hey" | 07:36
1 | 2 | "how are u?" | 07:37
2 | 1 | "hey, im fine" | 07:38
我只想得到一个结果:
2 | 1 | "hey, im fine" | 07:38
我正在使用 MySQL 和 PHP。