Trước tiên, bạn phải chọn độ tuổi tối thiểu cho mỗi lớp:
select min(age) as age, class as class from t group by class
(Lưu ý:Tôi giả sử bạn muốn độ tuổi tối thiểu cho mỗi lớp. Tôi muốn tuổi tối thiểu cho mỗi tên, sau đó thay thế class
với name
trong các truy vấn ...)
Sau đó, bạn phải nối kết quả với bảng của mình để nhận các hàng tương ứng. SQL đầy đủ sẽ là
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;
Để có hiệu suất tối ưu, hãy đảm bảo rằng age
được lập chỉ mục cũng như class
(hoặc name
, bất kỳ cái nào bạn muốn trong nhóm group by
biểu thức).