Pertama-tama Anda harus memilih usia minimum per kelas:
select min(age) as age, class as class from t group by class
(Catatan:Saya berasumsi Anda menginginkan usia minimum per kelas. Saya menginginkan usia minimum per nama, lalu ganti class
dengan name
dalam pertanyaan ...)
Kemudian Anda harus menggabungkan hasilnya dengan tabel Anda untuk mendapatkan baris masing-masing. SQL lengkapnya adalah
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;
Untuk performa optimal, pastikan age
diindeks serta class
(atau name
, mana pun yang Anda inginkan dalam group by
ekspresi).