Du skal først vælge minimumsalderen pr. klasse:
select min(age) as age, class as class from t group by class
(Bemærk:Jeg går ud fra, at du ønsker minimumsalderen pr. klasse. Hvis du vil have minimumsalderen pr. navn, skal du erstatte class
med name
i forespørgslerne ...)
Så skal du forbinde resultatet med din tabel for at få de respektive rækker. Den fulde SQL ville være
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;
For optimal ydeevne skal du sørge for, at age
er indekseret såvel som class
(eller name
, alt efter hvad du vil have i din group by
udtryk).