我有一张桌面充满了用户之间的消息,并且我想从每个用户的userFrom不是我的用户(4)中选择最后一条消息,但是如果最后一条消息到另一个用户(userTo)是我的用户(4)和另一个用户之间的最后一条消息,那么这应该是返回记录中msg的值。如何使用MySQL GROUP BY选择唯一值
TABLE消息
id|userFrom|userTo|msg
-------------------------
1 | 4 | 9 |msg 1
2 | 9 | 4 |msg 2
3 | 4 | 63 |msg 1
4 | 63 | 4 |msg 2
5 | 4 | 9 |msg 3
6 | 9 | 4 |msg 4
7 | 9 | 4 |msg 5
8 | 63 | 4 |msg 3
我的最终目标是使用数据显示,从独特的用户的邮件列表,其中每行是不同的用户,它显示了我的用户和用户之间的最后一条消息(视觉参考我试图创造一些像Facebook消息)
我怎么会喜欢上表数据返回
id|userFrom|msg
-------------------------
7 | 9 |msg 5
8 | 63 |msg 3
我需要的用户从独特,所以我可以扩展查询做额外的连接,从用户表中获取实际的varchar用户名,其中userFrom是一些用户,但不是我自己的用户。
id 8从哪里来? – kbball
您可以使用子查询为用户选择最后一条消息。 – mm759
@kbball我忘了包括它..我编辑,因为你已经查看包括第8行的数据。 –