sql >> Databáze >  >> RDS >> Mysql

MySQL Vyberte řádek s nejnižší hodnotou ve sloupci

Nejprve musíte vybrat minimální věk na třídu:

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

(Poznámka:Předpokládám, že chcete minimální věk na třídu. Chcete minimální věk na jméno, pak nahraďte class s name v dotazech ...)

Pak musíte spojit výsledek s vaší tabulkou, abyste získali příslušné řádky. Úplné SQL by bylo

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;

Pro optimální výkon se ujistěte, že age je indexován stejně jako class (nebo name , podle toho, co chcete ve své group by výraz).



  1. ALTER TABLE pro přidání nového sloupce na omezené místo na disku

  2. Hibernace parametrizovaného SQL dotazu pomalé a aktivní relace oracle

  3. Nejlepší způsob aktualizace záznamů v MySQL z XML feedu

  4. Chyba při načítání ovladače QMYSQL