使用相同的值对记录进行分组

时间:2010-04-05 07:29:21

标签: php mysql

我正在尝试创建基于会话的邮件系统。

我想对具有相同conversation_id的所有邮件进行分组,以便在显示当前会话列表时,您只能看到每个会话中的最新邮件。

我可以在mysql查询中对值进行分组,还是必须在php中进行分组?

4 个答案:

答案 0 :(得分:2)

select m.convos_id, m.message_content from messages m  
          where m.id in 
          (select MAX(m1.id) from messages m1 GROUP BY m1.convos_id)

答案 1 :(得分:1)

感谢您的帮助,这就是我的目的。

SELECT messages.*, messages_conversations.subject
FROM messages, messages_conversations
WHERE messages.to_user_id = '".$userid."'
AND messages_conversations.id = messages.conversation_id
GROUP BY messages.conversation_id

答案 2 :(得分:0)

您可以在mysql查询中对此进行分组:

select * from table where conversation_id = id_here

这将获得conversation_id设置为id_here的所有记录,然后您可以使用php处理该阵列/组。

答案 3 :(得分:0)

它是数据库中父子关系的基本示例。 每条消息都有唯一的id,而iys也应该引用convo id的父键。

然后您可以获取给定convo id的最新消息。