Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Seleziona la riga con il valore più basso nella colonna

Devi prima selezionare l'età minima per classe:

select min(age) as age, class as class from t group by class

(Nota:presumo che tu voglia l'età minima per classe. Voglio l'età minima per nome, quindi sostituisci class con name nelle query...)

Quindi devi unire il risultato con la tua tabella per ottenere le rispettive righe. L'SQL completo sarebbe

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;

Per prestazioni ottimali, assicurati che age è indicizzato così come class (o name , quello che vuoi nel tuo group by espressione).