我有两张 table ,对话和消息, 我想做的是从对话到消息进行内部连接。
这是我的查询:
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
我只想获得最高的 id,例如:
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
)
关于php - 通过内部连接和最大 ID 获取最高 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16760871/