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

Jak najít maximální hodnotu číselného sloupce v SQL

Problém:

Chtěli byste najít maximální hodnotu číselného sloupce.

Příklad:

Naše databáze obsahuje tabulku s názvem product s údaji v následujících sloupcích:id , name , year a items .

id jméno rok položky
1 housky 2018 345
2 čokoláda 2017 123
3 máslo 2019 34
4 housky 2019 456
5 máslo 2018 56
6 máslo 2017 78
7 čokoláda 2019 87
8 čokoláda 2018 76

Pojďme najít maximální počet prodaných položek za všechny roky.

Řešení:

SELECT MAX(items) as max_items
FROM product;

Zde je výsledek:

max_items
456

Diskuse:

Chcete-li zjistit maximální hodnotu sloupce, použijte MAX() agregační funkce; jako svůj argument bere název sloupce, pro který chcete najít maximální hodnotu. Pokud jste nezadali žádné další sloupce v SELECT klauzule, bude vypočítáno maximum pro všechny záznamy v tabulce. V našem příkladu dotaz vrátí maximální počet ze všech položek.

Samozřejmě, protože se jedná o agregační funkci, MAX() lze použít i se skupinami. Pokud bychom například chtěli vidět maximální počet prodaných položek v každém roce, můžeme napsat tento dotaz:

SELECT year, MAX(items) AS max_items
FROM product
GROUP BY year;

Pro každou skupinu se vypočítá maximum:

rok max_items
2018 345
2017 123
2019 456

  1. internacionalizovaný regulární výraz v postgresql

  2. CHOP s INSERT INTO prostřednictvím připravených výpisů

  3. JSON_MERGE_PATCH() – Proveďte sloučení dokumentů JSON v MySQL v souladu s RFC 7396

  4. MySQL - vynutit nepoužívat cache pro testování rychlosti dotazu