Primero tienes que seleccionar la edad mínima por clase:
select min(age) as age, class as class from t group by class
(Nota:supongo que desea la edad mínima por clase. Si desea la edad mínima por nombre, luego reemplace class
con name
en las consultas...)
Luego, debe unir el resultado con su tabla para obtener las filas respectivas. El SQL completo sería
select t.* from t
inner join
(
select min(age) as age, class as class from t group by class
) min_ages on t.age = min_ages.age and t.class = min_ages.class;
Para un rendimiento óptimo, asegúrese de que age
está indexado así como class
(o name
, lo que quieras en tu group by
expresión).