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

MySQL Vælg række med laveste værdi i kolonne

Du skal først vælge minimumsalderen pr. klasse:

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

(Bemærk:Jeg går ud fra, at du ønsker minimumsalderen pr. klasse. Hvis du vil have minimumsalderen pr. navn, skal du erstatte class med name i forespørgslerne ...)

Så skal du forbinde resultatet med din tabel for at få de respektive rækker. Den fulde SQL ville væ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;

For optimal ydeevne skal du sørge for, at age er indekseret såvel som class (eller name , alt efter hvad du vil have i din group by udtryk).



  1. Adgangskompatibel Wide World Importers SQL Server-database

  2. Oracle SQL - Brug af joins til at finde værdier i én tabel og ikke en anden

  3. Automatisk dataindsamling om udførte opgaver i MS SQL Server

  4. mysqlworkbench giver versionsfejl ved eksport af database