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,
MAX
funktionen ignorererNULL
værdier. - For det andet, i modsætning til
COUNT
funktionen,DISTINCT
klausulen er ikke relevant forMAX
funktion. - For det tredje, fordi en kolonne kan gemme blandede typer data, f.eks. heltal, reelt, tekst, blob og
NULL
i SQLite, når man sammenligner værdier for at finde den maksimale værdi,MAX
funktionen 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.