sql >> Database teknologi >  >> RDS >> SQLite

SQLite SUM

Oversigt :i denne øvelse lærer du, hvordan du bruger SQLite SUM funktion til at beregne summen af ​​alle værdier.

Introduktion til SQLite SUM funktion

SUM funktion er en aggregeret funktion, der returnerer summen af ​​ikke-NULL-værdier eller kun de distinkte værdier i en gruppe.

Det følgende udtryk illustrerer syntaksen for SUM funktion:

SUM([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql)

SUM funktion bruger ALL klausul som standard. Det betyder, at alle inputværdier, uanset om de er dublerede eller ej, tages i betragtning, når SUM funktion udfører beregningen.

Hvis du vil beregne summen af ​​unik værdier, skal du angive DISTINCT klausul eksplicit i udtrykket.

Resultatet af SUM funktion er et heltal, hvis alle input ikke-NULL værdier er heltal. Hvis en inputværdi hverken er et heltal eller en NULL værdi, resultatet af SUM funktion er en flydende decimalværdi.

Resultatet af SUM funktionen er NULL hvis og kun hvis alle inputværdier er NULL .

Hvis der sker en heltalsoverløbsfejl, og alle inputværdier er NULL eller heltal, SUM funktion kaster en heltals overløb undtagelse.

SQLite SUM funktionseksempler

Vi vil bruge tracks tabel i eksempeldatabasen til demonstrationen.

For at få den samlede længde af alle spor i tracks tabel, bruger du SUM fungere som følgende sætning:

SELECT
   SUM(milliseconds)
FROM
   tracks;Code language: SQL (Structured Query Language) (sql)

Prøv det

SQLite SUM funktion med GROUP BY klausul

For at beregne den samlede længde af hvert album skal du bruge SUM funktion med GROUP BY klausul.

Først GROUP BY klausul grupperer et sæt numre efter album. Derefter SUM funktionen beregner summen af ​​længder af spor pr. album.

Følgende udsagn illustrerer ideen:

SELECT
   AlbumId,
   SUM(milliseconds)
FROM
   tracks
GROUP BY
   AlbumId;Code language: SQL (Structured Query Language) (sql)

Prøv det

SQLite SUM funktion og INNER JOIN klausuleksempel

For at inkludere albumtitlerne i outputtet, tilslutter du dig tracks tabel til albums tabel ved hjælp af INNER JOIN klausul som følger:

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)

Prøv det

SQLite SUM funktion og HAVING klausuleksempel

Du kan bruge SUM funktion i HAVING klausul for at filtrere grupper baseret på en specificeret betingelse.

For eksempel får følgende sætning alle albums, hvis samlede længde er større end 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)

Prøv det

I denne øvelse har vi introduceret dig til SQLite SUM funktion, der returnerer summen af ​​værdier i en gruppe.


  1. SQLite ER NULL

  2. Sådan ændres en kolonne fra Null til Ikke Null i SQL Server

  3. NLSSORT() Funktion i Oracle

  4. Hvordan tjekker man JDK-versionen i Oracle?