Samenvatting :in deze tutorial leer je hoe je de SQLite SUM
. gebruikt functie om de som van alle waarden te berekenen.
Inleiding tot SQLite SUM
functie
De SUM
functie is een aggregatiefunctie die de som van de niet-NULL-waarden of alleen de afzonderlijke waarden retourneert in een groep.
De volgende uitdrukking illustreert de syntaxis van de SUM
functie:
SUM([ALL | DISTINCT] expression);
Code language: SQL (Structured Query Language) (sql)
De SUM
functie gebruikt ALL
clausule standaard. Dit betekent dat alle invoerwaarden, of ze nu dubbel zijn of niet, worden beschouwd wanneer de SUM
functie voert de berekening uit.
Als u de som wilt berekenen van uniek waarden, moet u de DISTINCT
clausule expliciet in de uitdrukking.
Het resultaat van de SUM
functie is een geheel getal als alle ingevoerde niet-NULL-waarden gehele getallen zijn. Als een invoerwaarde noch een geheel getal, noch een NULL
is waarde, het resultaat van de SUM
functie is een drijvende-kommawaarde.
Het resultaat van de SUM
functie is NULL
als en alleen als alle invoerwaarden zijn NULL
.
In het geval dat er een integer-overloopfout optreedt en alle invoerwaarden zijn NULL
of gehele getallen, de SUM
functie genereert een integer overflow-uitzondering.
SQLite SUM
functievoorbeelden
We gebruiken de tracks
tabel in de voorbeelddatabase voor de demonstratie.
Om de totale lengte van alle tracks in de tracks
te krijgen tabel, gebruik je de SUM
functioneren als de volgende verklaring:
SELECT
SUM(milliseconds)
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Probeer het
SQLite SUM
functie met GROUP BY
clausule
Om de totale lengte van elk album te berekenen, moet u de SUM
. gebruiken functie met de GROUP BY
clausule.
Eerst de GROUP BY
clausule groepeert een reeks nummers op albums. Dan, de SUM
functie berekent de som van de lengtes van tracks per album.
De volgende verklaring illustreert het idee:
SELECT
AlbumId,
SUM(milliseconds)
FROM
tracks
GROUP BY
AlbumId;
Code language: SQL (Structured Query Language) (sql)
Probeer het
SQLite SUM
functie en INNER JOIN
clausule voorbeeld
Om de albumtitels in de uitvoer op te nemen, voegt u zich bij de tracks
tabel naar de albums
tabel met behulp van de INNER JOIN
clausule als volgt:
SELECT
tracks.albumid,
title,
SUM(milliseconds)
FROM
tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
GROUP BY
tracks.albumid,
title;
Code language: SQL (Structured Query Language) (sql)
Probeer het
SQLite SUM
functie en HAVING
clausule voorbeeld
U kunt de SUM
. gebruiken functie in de HAVING
clausule om groepen te filteren op basis van een gespecificeerde voorwaarde.
De volgende instructie haalt bijvoorbeeld alle albums op waarvan de totale lengte groter is dan 1.000.000 milliseconden:
SELECT
tracks.albumid AlbumId,
Title,
SUM(milliseconds)
FROM
tracks
INNER JOIN albums ON albums.albumid= tracks.albumid
GROUP BY
tracks.albumid,
title
HAVING
SUM(milliseconds) > 1000000;
Code language: SQL (Structured Query Language) (sql)
Probeer het
In deze zelfstudie hebben we u kennis laten maken met de SQLite SUM
functie die de som van de waarden in een groep teruggeeft.