Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL Selecione a linha com o valor mais baixo na coluna


Primeiro você deve selecionar a idade mínima por turma:
select min(age) as age, class as class from t group by class

(Observação:estou assumindo que você deseja a idade mínima por classe. Se você deseja a idade mínima por nome, substitua class com name nas consultas...)

Então você tem que juntar o resultado com sua tabela para obter as respectivas linhas. O SQL completo seria
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;

Para um desempenho ideal, certifique-se de que age é indexado, bem como class (ou name , o que você quiser em seu group by expressão).