Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL Wybierz wiersz z najniższą wartością w kolumnie

Najpierw musisz wybrać minimalny wiek dla klasy:

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

(Uwaga:zakładam, że chcesz mieć minimalny wiek na klasę. Chcę mieć minimalny wiek na imię, a następnie zastąp class z name w zapytaniach ...)

Następnie musisz połączyć wynik z tabelą, aby uzyskać odpowiednie wiersze.Pełny kod SQL byłby

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;

Aby uzyskać optymalną wydajność, upewnij się, że age jest indeksowany tak samo jak class (lub name , cokolwiek chcesz w swojej group by wyrażenie).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_VALID() – Testuj poprawność JSON w MySQL

  2. Jak zapobiec dwukrotnemu drukowaniu przez to zapytanie tych samych wyników?

  3. Jak uniknąć błędów funkcje agregujące nie są dozwolone w WHERE

  4. Dlaczego mysql_num_rows($result) zwraca 1, nawet jeśli $result zwraca pusty zestaw wyników?

  5. Python Pandy to_sql, jak stworzyć tabelę z kluczem podstawowym?