Sie müssen zuerst das Mindestalter pro Klasse auswählen:
select min(age) as age, class as class from t group by class
(Hinweis:Ich nehme an, Sie möchten das Mindestalter pro Klasse. Wenn Sie das Mindestalter pro Name möchten, ersetzen Sie class
mit name
in den Abfragen ...)
Dann müssen Sie das Ergebnis mit Ihrer Tabelle verknüpfen, um die entsprechenden Zeilen zu erhalten. Die vollständige SQL wä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;
Stellen Sie für eine optimale Leistung sicher, dass age
wird ebenso indiziert wie class
(oder name
, was auch immer Sie in Ihrer group by
möchten Ausdruck).