sql >> Database >  >> RDS >> SQLite

SQLite SUM

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.


  1. Concat-veldwaarde naar tekenreeks in SQL Server

  2. Oracle vindt een beperking

  3. Liquibase-slot - redenen?

  4. Postgres ERROR:kon het bestand niet openen om te lezen:toestemming geweigerd