我有两张桌子,对话和信息,
我想做的是从对话到消息进行内部连接.
我想做的是从对话到消息进行内部连接.
这是我的查询:
SELECT messages.msg,messages.`read`,conversations.userid,conversations.contactid FROM conversations INNER JOIN messages ON conversations.id = messages.convId WHERE conversations.id IN(443,444)
现在一切都应该是正常的,但最后一件事是在我使用的内部连接中
conversations.id = messages.convId
我想要获得最高的ids,如:
AND MAX(messages.id)
但这不行
编辑:
我试过一次使用:
LEFT JOIN messages ON conversations.id = messages.convId AND messages.id = MAX(messages.id)
编辑
这将工作!
SELECT conversations.*,m1.* FROM conversations LEFT JOIN messages m1 ON conversations.id = m1.cid AND m1.id = ( SELECT MAX(m2.id) FROM messages m2 WHERE m2.cid = conversations.id )