MySQL выбирает максимальную запись в группе по

Я пытаюсь создать запрос в таблице, которая содержит около 500 000 записей и около 50 или 60 столбцов. Мне нужно сопоставить эти записи по группам и выбрать максимальную запись в каждой группе.

Для упрощения задачи у меня есть следующая таблица

+----+-------------+----------+--------+
| id | external_id | group_id | mypath |
+----+-------------+----------+--------+
|  1 |        1003 |        1 | a      | 
|  2 |        1004 |        2 | b      | 
|  3 |        1005 |        2 | c      | 
+----+-------------+----------+--------+

Простая группа по следующим

select * from temp GROUP BY group_id

который возвращается

+----+-------------+----------+--------+
| id | external_id | group_id | mypath |
+----+-------------+----------+--------+
|  1 |        1003 |        1 | a      | 
|  2 |        1004 |        2 | b      | 
+----+-------------+----------+--------+

Хорошо, но не то, что я хочу. То, что я хочу, это полная запись для max enternal_id в каждой группе. Другими словами

+----+-------------+----------+--------+
| id | external_id | group_id | mypath |
+----+-------------+----------+--------+
|  1 |        1003 |        1 | a      | 
|  3 |        1005 |        2 | c      | 
+----+-------------+----------+--------+

Каким-то образом я хочу поместить здесь оператор max (external_id), чтобы отфильтровать то, что нужно, но пока все мое расследование не удалось. Некоторое руководство будет оценено. Важно, чтобы при возврате max (external_id) вся запись была выбрана, поскольку путь столбца отличается.

Ответы на вопрос(1)

Ваш ответ на вопрос