私は2つのテーブル、会話とメッセージを持っています 私がしたいのは、会話からメッセージへの内部結合を行うことです。ここで内部結合と最大IDで最高のIDを取得
は私のクエリです:
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)
しかし、私が言ってましたエラー:グループ機能の無効な使用を。
:あなたはまた、より標準的な手法を用いてこれを行うことができます
conversations.id ASC BY ORDERを、DESC – Nanocom
messages.id私に一つだけの行を与えること、私コンボごとに行が好きです。 – Kilise
いいえ、複数の行が表示されます。しかし、私の間違いは、私はORDER BY conversations.id ASC、messages.id DESC GROUP BY conversations.id – Nanocom