Sammanfattning :i denna handledning kommer du att lära dig hur du använder SQLite SUM
funktion för att beräkna summan av alla värden.
Introduktion till SQLite SUM
funktion
SUM
funktion är en aggregerad funktion som returnerar summan av icke-NULL-värdena eller endast de distinkta värdena i en grupp.
Följande uttryck illustrerar syntaxen för SUM
funktion:
SUM([ALL | DISTINCT] expression);
Code language: SQL (Structured Query Language) (sql)
SUM
funktionen använder ALL
klausul som standard. Det betyder att alla indatavärden, oavsett om dubletter eller inte, beaktas när SUM
funktionen utför beräkningen.
Om du vill beräkna summan av unika värden måste du ange DISTINCT
sats uttryckligen i uttrycket.
Resultatet av SUM
funktion är ett heltal om alla inmatade icke-NULL-värden är heltal. Om något inmatat värde varken är ett heltal eller en NULL
värde, resultatet av SUM
funktion är ett flyttalsvärde.
Resultatet av SUM
funktionen är NULL
om och bara om alla indatavärden är NULL
.
Om det inträffar ett heltalsspillfel och alla indatavärden är NULL
eller heltal, SUM
funktionen kastar ett heltalsöverskridande undantag.
SQLite SUM
funktionsexempel
Vi kommer att använda tracks
tabell i exempeldatabasen för demonstrationen.
För att få den totala längden på alla spår i tracks
tabell använder du SUM
fungera som följande påstående:
SELECT
SUM(milliseconds)
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Prova det
SQLite SUM
funktion med GROUP BY
klausul
För att beräkna den totala längden på varje album måste du använda SUM
funktion med GROUP BY
klausul.
Först, GROUP BY
klausul grupperar en uppsättning spår efter album. Sedan, SUM
funktionen beräknar summan av spårlängder per album.
Följande uttalande illustrerar idén:
SELECT
AlbumId,
SUM(milliseconds)
FROM
tracks
GROUP BY
AlbumId;
Code language: SQL (Structured Query Language) (sql)
Prova det
SQLite SUM
funktion och INNER JOIN
klausulexempel
För att inkludera albumtitlarna i utgången går du med i tracks
tabellen till albums
tabell med INNER JOIN
klausul enligt följande:
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)
Prova det
SQLite SUM
funktion och HAVING
klausulexempel
Du kan använda SUM
funktion i HAVING
sats för att filtrera grupper baserat på ett specificerat villkor.
Till exempel får följande påstående alla album vars totala längder är större än 1 000 000 millisekunder:
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)
Prova det
I den här handledningen har vi introducerat dig till SQLite SUM
funktion som returnerar summan av värden i en grupp.