Tach!
Du könntest eine correlated Subquery verwenden, die du in der ORDER-BY-Klausel notierst. Die Subquery nimmt alle Datensätze, bei denen die threadid mit der ID vom Hauptdatensatz übereinstimmt und ermittelt mit MAX(datum) das jüngste Datum.
Könntest Du bitte zur Vollständigkeit die Query auch mal abbilden?
Kann ich, aber so schwer ist es nicht. Anstatt des ORDER-BY-Werte kommt die Subquery. (Falls das nicht gehen sollte, kommt die Subquery in die SELECT-Klausel und das ORDER BY bezieht sich auf diese Spalte.) Wie eine Correlated Subquery geht, steht im MySQL-Handbuch (Subquery-Kapitel) und ist auch keine Raketentechnik. In der Subquery nimmt man einfach einen Wert aus der Haupt-Query hinzu, im vorliegenden Fall in der WHERE-Klausel (WHERE subquerytable.field = hauptquerytable.field). Und der Rest ist die Anwendung einer Aggregatfunktion (wie bei COUNT(*)). Außerdem ist für den vorliegenden Fall aufgrund des Tabellendesigns als Subquery-Tabelle die Hauptquery-Tabelle nochmal zu nehmen (beide mit unterschiedlichen Aliasen).
dedlfix.