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.