Du måste först välja lägsta ålder per klass:
select min(age) as age, class as class from t group by class
(Obs! Jag antar att du vill ha lägsta ålder per klass. Om du vill ha lägsta ålder per namn, ersätt sedan class
med name
i frågorna ...)
Sedan måste du sammanfoga resultatet med din tabell för att få de respektive raderna. Den fullständiga SQL-koden skulle vara
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;
För optimal prestanda, se till att age
är indexerad såväl som class
(eller name
, vilket du vill ha i din group by
uttryck).