【发布时间】:2012-07-01 17:05:24
【问题描述】:
我有两个 sql 表,一个有用户,另一个有消息。 现在我的查询是:
SELECT users.memberid,users.username,users.profileimage,users.gender,message.messagebody, message.fromid,message.toid,message.messageid
FROM message,users
WHERE message.fromid = users.memberid AND message.toid = '$id' AND recieverdeleted='0'
ORDER BY datetime DESC LIMIT 55
现在返回的是每条消息的所有信息,无论是什么形式(发件人的 id) 问题是,我只想显示每个来自 id 的最新消息 ..有点像 Facebook 如何只显示朋友 x 发送给你的最新消息,而不是所有消息。在用户点击他朋友的最新消息后,我将努力显示所有消息。 谢谢
【问题讨论】:
-
几乎每天都会有人问这个几乎完全相同的问题。提问前请先搜索!
-
您好,我看到有人问了我的问题的许多版本,但无法将其应用于我自己的查询。不过感谢您的链接!
-
用以下查询解决了我的问题(有点小技巧):SELECT users.memberid,users.username,users.profileimage,users.gender,message.messagebody, message.fromid,message.toid ,message.messageid FROM message,users WHERE message.fromid = users.memberid AND message.toid = '$id' AND recieverdeleted='0' AND message.messageid IN (SELECT MAX(messageid) FROM message WHERE toid ='$id ' GROUP BY fromid) ORDER BY message.datetime DESC LIMIT 55