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.