sql >> Databáze >  >> RDS >> Database

Jak najít maximální hodnoty v řádcích

Problém:

Chcete zjistit, které řádky ukládají největší číselnou hodnotu v daném sloupci.

Příklad:

Naše databáze obsahuje tabulku s názvem student s údaji v následujících sloupcích:id , first_name , last_name a grade .

id first_name last_name třída
1 Lisa Jackson 3
2 Gary Larry 5
3 Tome Michelin 2
4 Martin Barker 2
5 Ellie Černá 5
6 Marie Simpson 4

Pojďme najít studenty, kteří mají nejvyšší známky.

Řešení:

SELECT  id, first_name, last_name, grade
FROM student
WHERE grade = (SELECT MAX(grade) FROM student);

Zde je výsledek:

id first_name last_name třída
2 Gary Larry 5
5 Ellie Černá 5

Diskuse:

Chcete-li zjistit maximální hodnotu sloupce, použijte MAX() agregační funkce; k nalezení maximální hodnoty je zapotřebí název sloupce nebo výraz. V našem příkladu vrací poddotaz nejvyšší číslo ve sloupci hodnocení (poddotaz:SELECT MAX(grade) FROM student ). Hlavní dotaz zobrazuje id, jméno a příjmení a jejich hodnocení. Chcete-li zobrazit pouze řádky s maximální hodnotou ze všech hodnot ve sloupci (např. SELECT MAX(grade) FROM student ), použijte WHERE s poddotazem. Do pole WHERE vložte název sloupce s hodnotou srovnatelnou s hodnotou vrácenou agregační funkcí v dílčím dotazu (v našem příkladu:WHERE grade = (SELECT MAX(grade) FROM student) ).


  1. Funkce vytvoření PostgreSQL

  2. Vytvořte databázový poštovní profil (SSMS)

  3. Jak zkontrolovat databázi na nerootovaném zařízení Android

  4. java.lang.ClassCastException:oracle.sql.TIMESTAMP nelze přenést do java.sql.Timestamp