SQL独特的最新帖子

时间:2015-01-19 19:05:36

标签: mysql sql greatest-n-per-group

我知道MySQL的基础知识,但我似乎无法弄清楚我遇到的以下问题。

我尝试在概述中显示两个用户之间的对话,其中将显示这两个用户之间的最后一条消息。

所以这个:

Message           Date           User
Lipsum            10-10-2015     Bob
Lorem             11-10-2015     John
Dolor             11-10-2015     Bob

将成为这个:

Dolor             from Bob
Lorem             from John

消息sql表如下所示:

MESSAGEID         DATE           FROM_USERID          TO_USERID

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你需要以下查询:

select t1.MESSAGEID,t1.MESSAGE, concat('from ',USERNAME) FROM_USER
from tblMsg t1 inner join 
    (select MAX(MESSAGEID) MESSAGEID,FROM_USERID
     from tblMsg
     group by FROM_USERID) t2 on t1.MESSAGEID=t2.MESSAGEID
    inner join tblUser u on t1.FROM_USERID=u.USERID

<强> DEMO SQL Fiddle