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é,
MAX
funkce ignorujeNULL
hodnoty. - Za druhé, na rozdíl od
COUNT
funkceDISTINCT
klauzule není relevantní proMAX
funkce. - Za třetí, protože sloupec může ukládat různé typy dat, např. celé číslo, reálné číslo, text, blob a
NULL
v SQLite při porovnávání hodnot k nalezení maximální hodnotyMAX
funkce 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.