Este es un problema complicado en SQL que se resuelve mejor dirigiéndote a un excelente artículo detallado que cubre el problema:Cómo seleccionar la primera/menos/máxima fila por grupo en SQL . Cubre medios específicos de MySQL para hacer esto, así como métodos genéricos.