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.