【发布时间】:2014-10-28 10:44:07
【问题描述】:
我想查询某个用户的聊天伙伴最近的聊天消息。我当前的查询有效,但是它选择了按时间戳排序的合作伙伴分组的用户自己的消息。但我想要其他用户发送给这个特定用户的最后一条消息,按时间戳排序。
这是我的小提琴:Sqlfiddle
预期结果:2 行
... message
--------------------
... r to me last
... m to me last
我已经准备好聊天消息,时间戳最大的消息称为“x to me last”
我目前的查询是:
SELECT A.*, DU.user as username, DU.photo, DU.city, DU.year, DU.month, DU.day
FROM db_chats A
INNER JOIN (
SELECT max(timestamp) ts, user, partner
FROM db_chats
GROUP BY partner) T
on A.timestamp=T.ts
and A.user=T.user
LEFT JOIN db_users DU on T.partner = DU.id
WHERE A.user = 'RGXiLkVpKGc4FSU7SeyMlZ7z' ORDER BY A.timestamp desc
【问题讨论】: