我正在尝试创建基于会话的邮件系统。
我想对具有相同conversation_id的所有邮件进行分组,以便在显示当前会话列表时,您只能看到每个会话中的最新邮件。
我可以在mysql查询中对值进行分组,还是必须在php中进行分组?
答案 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的最新消息。