选择不同的列,然后选择php / sql中的相关列

时间:2013-10-24 17:46:31

标签: php mysql sql

我正在尝试创建一个收件箱列表,其中只显示具有不同“父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
    ";

我希望能够从每个唯一的父组中获取最新的消息行,然后将包含最新消息的父组放在收件箱列表的顶部。我可以选择不同的父组,但后来我无法弄清楚如何获取该父组中最新消息的发送者/接收者/消息/时间戳数据。

1 个答案:

答案 0 :(得分:1)

这应该可以满足您的需求。它将为每个父母提供一条消息,并按最近收到的消息进行排序。

SELECT sender, receiver, message, timestamp, parent

FROM messages 

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

GROUP BY parent

ORDER BY timestamp DESC