SQLite
 sql >> Base de données >  >> RDS >> SQLite

SOMME SQLite

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.