Oversigt :i denne vejledning lærer du, hvordan du bruger SQLite MAX funktion for at få den maksimale værdi af alle værdier i en gruppe.
Introduktion til SQLite MAX funktion
SQLite MAX funktion er en aggregeret funktion, der returnerer den maksimale værdi af alle værdier i en gruppe. Du kan bruge MAX funktion til at udrette en masse ting.
For eksempel kan du bruge MAX funktion til at finde de dyreste produkter, finde den største vare i sin gruppe osv.
Det følgende illustrerer den grundlæggende syntaks for MAX funktion.
MAX([ALL|DISTINCT] expression);Code language: SQL (Structured Query Language) (sql)
expression kan være en kolonne i en tabel eller et udtryk, der består af operander, som er kolonnerne, og operatorer som +, * osv.
Der er nogle vigtige bemærkninger om MAX funktion:
- For det første,
MAXfunktionen ignorererNULLværdier. - For det andet, i modsætning til
COUNTfunktionen,DISTINCTklausulen er ikke relevant forMAXfunktion. - For det tredje, fordi en kolonne kan gemme blandede typer data, f.eks. heltal, reelt, tekst, blob og
NULLi SQLite, når man sammenligner værdier for at finde den maksimale værdi,MAXfunktionen bruger de regler, der er nævnt i selvstudiet om datatyper.
SQLite MAX funktionseksempler
Vi bruger tracks tabel i eksempeldatabasen til demonstrationen.
For at få det største spor i bytes, anvender du MAX funktion til bytes kolonne som følgende udsagn:
SELECT MAX(bytes) FROM tracks;Code language: SQL (Structured Query Language) (sql) Prøv det
SQLite MAX funktion i underforespørgselseksemplet
For at få den komplette information om det største spor, bruger du underforespørgslen som følger:
SELECT
TrackId,
Name,
Bytes
FROM
tracks
WHERE
Bytes = (SELECT MAX(Bytes) FROM tracks);Code language: SQL (Structured Query Language) (sql) Prøv det
Først returnerer den indre forespørgsel de højeste bytes af alle spor ved hjælp af MAX fungere. Derefter får den ydre forespørgsel det største spor, hvis størrelse er lig med den største størrelse returneret af underforespørgslen.
SQLite MAX funktion og GROUP BY klausuleksempel
Du kan finde det største nummer i hvert album ved at bruge MAX funktion med GROUP BY-sætningen.
Først GROUP BY klausul grupperer sporene i grupper baseret på album. Derefter MAX funktion returnerer de største spor for hver gruppe.
Se følgende forespørgsel:
SELECT
AlbumId,
MAX(bytes)
FROM
tracks
GROUP BY
AlbumId;Code language: SQL (Structured Query Language) (sql) Prøv det
SQLite MAX funktion og HAVING klausul
Du kan kombinere MAX funktion med HAVING-sætningen for at filtrere grupperne baseret på deres største værdier.
For at finde albummer og deres største spor, hvor størrelsen af de største spor er større end 6 MB (ca. ~ 6000000), bruger du følgende sætning:
SELECT
albumid,
max(bytes)
FROM
tracks
GROUP BY
albumid
HAVING MAX(bytes) > 6000000;Code language: SQL (Structured Query Language) (sql) Prøv det
I denne øvelse har du lært, hvordan du bruger SQLite MAX funktion til at finde den maksimale værdi i en gruppe af værdier.