Résumé :dans ce tutoriel, vous apprendrez à utiliser le SQLite SUM
fonction pour calculer la somme de toutes les valeurs.
Introduction à SQLite SUM
fonction
La SUM
function est une fonction d'agrégation qui renvoie la somme des valeurs non NULL ou uniquement les valeurs distinctes en groupe.
L'expression suivante illustre la syntaxe du SUM
fonction :
SUM([ALL | DISTINCT] expression);
Code language: SQL (Structured Query Language) (sql)
La SUM
la fonction utilise ALL
clause par défaut. Cela signifie que toutes les valeurs d'entrée, qu'elles soient en double ou non, sont prises en compte lorsque la valeur SUM
la fonction effectue le calcul.
Si vous voulez calculer la somme de unique valeurs, vous devez spécifier le DISTINCT
clause explicitement dans l'expression.
Le résultat de la SUM
fonction est un entier si toutes les valeurs d'entrée non NULL sont des entiers. Si une valeur d'entrée n'est ni un entier ni un NULL
value, le résultat de la SUM
fonction est une valeur à virgule flottante.
Le résultat de la SUM
la fonction est NULL
si et seulement si toutes les valeurs d'entrée sont NULL
.
Dans le cas où une erreur de dépassement d'entier se produit et que toutes les valeurs d'entrée sont NULL
ou entiers, la SUM
la fonction lève une exception de dépassement d'entier.
SQLite SUM
exemples de fonctions
Nous utiliserons les tracks
table dans l'exemple de base de données pour la démonstration.
Pour obtenir la longueur totale de toutes les pistes dans les tracks
table, vous utilisez le SUM
fonctionnent comme l'instruction suivante :
SELECT
SUM(milliseconds)
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
SQLite SUM
fonction avec GROUP BY
clause
Pour calculer la longueur totale de chaque album, vous devez utiliser le SUM
fonction avec le GROUP BY
clause.
Tout d'abord, le GROUP BY
La clause regroupe un ensemble de pistes par albums. Ensuite, la SUM
calcule la somme des longueurs des pistes par album.
L'énoncé suivant illustre l'idée :
SELECT
AlbumId,
SUM(milliseconds)
FROM
tracks
GROUP BY
AlbumId;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
SQLite SUM
fonction et INNER JOIN
exemple de clause
Pour inclure les titres d'album dans la sortie, vous joignez les tracks
tableau vers les albums
table en utilisant le INNER JOIN
clause comme suit :
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)
Essayez-le
SQLite SUM
fonction et HAVING
exemple de clause
Vous pouvez utiliser le SUM
fonction dans le HAVING
clause pour filtrer les groupes en fonction d'une condition spécifiée.
Par exemple, l'instruction suivante obtient tous les albums dont la durée totale est supérieure à 1 000 000 millisecondes :
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)
Essayez-le
Dans ce tutoriel, nous vous avons présenté le SQLite SUM
fonction qui renvoie la somme des valeurs d'un groupe.