Много информация на http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/
Това винаги е бил досаден проблем в MySQL. Имаше начини за заобикаляне на това, като например свързване на няколко полета заедно (започвайки с external_id) и след това избиране на MAX() от това и след това повторното му разделяне.
Предлагам ви да използвате получена таблица. Първата таблица (t1) се извлича от проста заявка, в която идентифицирате MAX(external_id)
, след което се присъединявате от него, за да получите останалите данни.
ТОВА Е САМО АКО external_id
УНИКАЛНО Е
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 ...