Shrnutí :v tomto tutoriálu se naučíte používat SQLite MAX funkce k získání maximální hodnoty všech hodnot ve skupině.
Úvod do SQLite MAX funkce
SQLite MAX funkce je agregační funkce, která vrací maximální hodnotu všech hodnot ve skupině. Můžete použít MAX funkce k dosažení mnoha věcí.
Můžete například použít MAX funkce najít nejdražší produkty, najít největší položku ve své skupině atd.
Následující text ilustruje základní syntaxi MAX funkce.
MAX([ALL|DISTINCT] expression);Code language: SQL (Structured Query Language) (sql)
expression může být sloupec tabulky nebo výraz, který se skládá z operandů, což jsou sloupce, a operátorů jako +, * atd.
Existuje několik důležitých poznámek o MAX funkce:
- Za prvé,
MAXfunkce ignorujeNULLhodnoty. - Za druhé, na rozdíl od
COUNTfunkceDISTINCTklauzule není relevantní proMAXfunkce. - Za třetí, protože sloupec může ukládat různé typy dat, např. celé číslo, reálné číslo, text, blob a
NULLv SQLite při porovnávání hodnot k nalezení maximální hodnotyMAXfunkce používá pravidla uvedená v tutoriálu o datových typech.
SQLite MAX příklady funkcí
Použijeme tracks tabulky ve vzorové databázi pro ukázku.
Chcete-li získat největší stopu v bajtech, použijte MAX funkce do bytes sloupec jako následující příkaz:
SELECT MAX(bytes) FROM tracks;Code language: SQL (Structured Query Language) (sql) Zkuste to
SQLite MAX funkce v příkladu poddotazu
Chcete-li získat úplné informace o největší skladbě, použijte dílčí dotaz takto:
SELECT
TrackId,
Name,
Bytes
FROM
tracks
WHERE
Bytes = (SELECT MAX(Bytes) FROM tracks);Code language: SQL (Structured Query Language) (sql) Zkuste to
Nejprve vnitřní dotaz vrátí nejvyšší bajty ze všech stop pomocí MAX funkce. Potom vnější dotaz získá největší stopu, jejíž velikost se rovná největší velikosti vrácené dílčím dotazem.
SQLite MAX funkce a GROUP BY příklad klauzule
Největší skladbu v každém albu můžete najít pomocí MAX funkce s klauzulí GROUP BY.
Nejprve GROUP BY klauzule seskupuje skladby do skupin podle alb. Poté MAX Funkce vrací největší skladby pro každou skupinu.
Viz následující dotaz:
SELECT
AlbumId,
MAX(bytes)
FROM
tracks
GROUP BY
AlbumId;Code language: SQL (Structured Query Language) (sql) Zkuste to
SQLite MAX funkce a HAVING klauzule
Můžete kombinovat MAX funkce s klauzulí HAVING k filtrování skupin na základě jejich největších hodnot.
Chcete-li například najít alba a jejich největší skladbu, kde jsou velikosti největších skladeb větší než 6 MB (asi ~ 6000000), použijte následující příkaz:
SELECT
albumid,
max(bytes)
FROM
tracks
GROUP BY
albumid
HAVING MAX(bytes) > 6000000;Code language: SQL (Structured Query Language) (sql) Zkuste to
V tomto tutoriálu jste se naučili používat SQLite MAX funkce k nalezení maximální hodnoty ve skupině hodnot.