Kil*_*ise 10 php mysql sql database
我有两个表,对话和消息,我想做的是从对话到消息进行内部联接.
这是我的查询:
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)
Run Code Online (Sandbox Code Playgroud)
现在一切正常,但最后一件事是在我使用的内连接中
conversations.id = messages.convId
Run Code Online (Sandbox Code Playgroud)
我想只获得最高的ID,例如:
AND MAX(messages.id)
Run Code Online (Sandbox Code Playgroud)
但这不起作用
编辑: 我试过一次使用:
LEFT JOIN messages
ON conversations.id = messages.convId
AND messages.id = MAX(messages.id)
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误说:组功能的使用无效.
Phi*_*oss 18
编辑
这会奏效!
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
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9529 次 |
| 最近记录: |