sql >> Databasteknik >  >> RDS >> SQLite

SQLite SUM

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.


  1. 5 sätt att lista tillfälliga tabeller med T-SQL

  2. Hur man konverterar en sträng till hexadecimal i MySQL – HEX()

  3. Formaterar DATE i oracle

  4. Extrahera datum (åååå/mm/dd) från en tidsstämpel i PostgreSQL