1

我正在尝试创建一个收件箱列表,其中仅显示具有不同“父 ID”的消息。因此,从 user1 到 user2 的消息的父 id 将与从 user2 到 user1 的消息的父 id 相同。因此,我的收件箱只会为每个独特的对话显示一个项目。但我不知道如何选择不同的父 ID,然后选择相关的消息信息。这就是我现在所拥有的:

$sql = "SELECT sender, receiver, message, timestamp, (distinct parent)
    FROM messages WHERE receiver='$log_username' OR sender='$log_username' 
    ORDER BY timestamp DESC
    ";

我希望能够从每个唯一的父组中获取最新消息行,然后将具有最新消息的父组放在收件箱列表的顶部。我可以很好地选择不同的父组,但是我不知道如何获取该父组中最新消息的发送者/接收者/消息/时间戳数据。

4

1 回答 1

1

这应该给你你正在寻找的东西。它将为每个父母提供一条消息,并按最近收到的消息排序。

SELECT sender, receiver, message, timestamp, parent

FROM messages 

WHERE receiver='$log_username' OR sender='$log_username' 

GROUP BY parent

ORDER BY timestamp DESC
于 2013-10-24T18:12:06.787 回答