【发布时间】:2021-08-21 19:35:11
【问题描述】:
我想显示一个用户的朋友最近的消息列表;就像Messenger和Whatsapp一样。
为此我有 2 个表:用户表和聊天表
用户表
***user_id*** ***username*** ***photo*** ***status***
1 brada a.png offline
2 john b.png online
3 doe c.png offline
***chat table***
***id*** ***user_id*** ***friend_id*** ***message*** ***message_token*** ***msg_time***
1 2 1 hello ababa 2013-08-21 03:24:00
2 1 2 hi ababa 2013-08-21 03:24:00
3 1 3 hi man! baba 2013-08-21 03:24:00
4 3 1 im good baba 2013-08-21 03:24:00
我希望 brada 的输出是这样的: friend_id 用户名 消息 照片 状态
2 john hi b.png online
3 doe i'm good c.png offline
***我发现很难加入这两个表。我的代码只选择最后一条消息:***
SELECT * FROM chat WHERE id in (SELECT max(id) FROM chat WHERE (user_id ='1 OR friend_id =1) GROUP BY message_token )
【问题讨论】: