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

SOMMA SQLite

Riepilogo :in questo tutorial imparerai come usare SQLite SUM funzione per calcolare la somma di tutti i valori.

Introduzione a SQLite SUM funzione

La SUM function è una funzione aggregata che restituisce la somma dei valori non NULL o solo dei valori distinti in un gruppo.

L'espressione seguente illustra la sintassi di SUM funzione:

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

La SUM la funzione usa ALL clausola di default. Significa che tutti i valori di input, duplicati o meno, vengono considerati quando il SUM la funzione esegue il calcolo.

Se vuoi calcolare la somma di unici valori, devi specificare il DISTINCT clausola esplicitamente nell'espressione.

Il risultato della SUM la funzione è un numero intero se tutti i valori di input non NULL sono interi. Se un qualsiasi valore di input non è né un numero intero né un NULL value, il risultato di SUM la funzione è un valore a virgola mobile.

Il risultato della SUM la funzione è NULL se e solo se tutti i valori di input sono NULL .

Nel caso in cui si verifica un errore di overflow di numeri interi e tutti i valori di input sono NULL o numeri interi, il SUM la funzione genera un'eccezione di overflow intero.

SQLite SUM esempi di funzioni

Useremo le tracks tabella nel database di esempio per la dimostrazione.

Per ottenere la lunghezza totale di tutte le tracce in tracks tabella, usi il SUM funzione come la seguente istruzione:

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

Provalo

SQLite SUM funzione con GROUP BY clausola

Per calcolare la lunghezza totale di ogni album, devi utilizzare il SUM funzione con il GROUP BY clausola.

Innanzitutto, il GROUP BY la clausola raggruppa una serie di brani per album. Quindi, il SUM la funzione calcola la somma delle lunghezze dei brani per album.

La seguente affermazione illustra l'idea:

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

Provalo

SQLite SUM funzione e INNER JOIN esempio di clausola

Per includere i titoli degli album nell'output, ti unisci ai tracks tabella agli albums tabella utilizzando il INNER JOIN clausola come segue:

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)

Provalo

SQLite SUM funzione e HAVING esempio di clausola

Puoi utilizzare il SUM funzione nel HAVING clausola per filtrare i gruppi in base a una condizione specifica.

Ad esempio, la seguente istruzione ottiene tutti gli album la cui durata totale è maggiore di 1.000.000 di millisecondi:

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)

Provalo

In questo tutorial, ti abbiamo presentato SQLite SUM funzione che restituisce la somma dei valori in un gruppo.