我正在聊天,我想选择用户已发送或接收的用户消息列表,例如fb或twitter。我已经试过这个查询
SELECT DISTINCT * FROM message WHERE `userFrom` = 2 OR `userTo` = 2
但它返回了这张照片中的内容
下图是解释我的问题的图像
所以我想返回这些用户之间的最后一个动作,如下所示
最佳答案
这将在相同的关系上选择fromuser和touser。
选择不同的最小(a.fromuser,b.fromuser),
最大(a.touser,b.touser)
从tbl a加入tbl b
在a.fromuser = b.touser上
和a.touser = b.fromuser;
请参见下面的演示:
http://sqlfiddle.com/#!9/cedc63/1