Viele Informationen unter http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/
Dies war schon immer ein ärgerliches Problem in MySQL. Es gab Möglichkeiten, dies zu umgehen, z. B. mehrere Felder miteinander zu verketten (beginnend mit external_id) und dann das MAX() davon auszuwählen und es dann wieder zu zerlegen.
Ich schlage vor, Sie verwenden eine abgeleitete Tabelle. Die erste Tabelle (t1) wird von einer einfachen Abfrage abgeleitet, bei der Sie MAX(external_id)
identifizieren , dann treten Sie diesem bei, um den Rest der Daten zu erhalten.
DAS IST NUR WENN external_id
IST EINZIGARTIG
SELECT
t1.group_id, some_table.id, some_table.mypath
FROM
(
SELECT group_id, MAX(external_id) AS external_id
FROM some_table
GROUP BY group_id
) as t1
INNER JOIN
sometable ON t1.external_id = sometable.external_id
WHERE ...