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.