Holen Sie sich höchsten ids durch einen inner join und max id

Ich habe zwei Tabellen, die Gespräche und Nachrichten,
Was ich tun möchte, um ein inner join aus den Gesprächen zu Nachrichten.

Hier ist meine Abfrage:

    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)

Nun funktioniert alles wie es soll, aber eine Letzte Sache ist, dass die in der inneren Verknüpfung wo ich

conversations.id = messages.convId

Ich würde gerne die höchsten ids nur, wie:

 AND MAX(messages.id)

Aber das funktioniert nicht

EDIT:
Ich versuchte einmal zu verwenden:

LEFT JOIN messages 
    ON conversations.id = messages.convId 
        AND messages.id = MAX(messages.id) 

Aber ich bekam eine Fehlermeldung: Invalid use of group function.

  • Sie können damit Ihre Nachrichten-id : BESTELLUNG DURCH Gespräche.id ASC, Nachrichten.id DESC
  • geben Sie mir nur eine Zeile, ich würde gerne eine Zeile pro convId
  • Nein, es gebe mehrere Zeilen. Aber mein Fehler, hätte ich geschrieben, UM DURCH die Gespräche.id ASC, Nachrichten.id DESC-GRUPPE DURCH Gespräche.id
InformationsquelleAutor Kilise | 2013-05-26
Schreibe einen Kommentar