Resumo : neste tutorial você aprenderá como usar a SUM
função SQLite para calcular a soma de todos os valores.
Introdução à SUM
função SQLite
A SUM
função é uma função agregada que retorna a soma dos valores não NULOS ou apenas dos valores distintos em um grupo.
A seguinte expressão ilustra a sintaxe da SUM
função:
SUM([ALL | DISTINCT] expression);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A SUM
função usa ALL
cláusula por padrão. Isso significa que todos os valores de entrada, duplicados ou não, são considerados quando a SUM
função realiza o cálculo.
Se quiser calcular a soma de valores exclusivos , você deverá especificar a DISTINCT
cláusula explicitamente na expressão.
O resultado da SUM
função é um número inteiro se todos os valores de entrada não NULL forem números inteiros. Se qualquer valor de entrada não for um número inteiro nem um NULL
valor, o resultado da SUM
função será um valor de ponto flutuante.
O resultado da SUM
função é NULL
se e somente se todos os valores de entrada forem NULL
.
Caso ocorra um erro de estouro de número inteiro e todos os valores de entrada sejam NULL
ou números inteiros, a SUM
função lança uma exceção de estouro de número inteiro.
SUM
Exemplos de funções SQLite
Usaremos a tracks
tabela do banco de dados de exemplo para a demonstração.
Para obter a duração total de todas as faixas na tracks
tabela, você usa a SUM
função como a seguinte instrução:
SELECT
SUM(milliseconds)
FROM
tracks;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
SUM
Função SQLite com GROUP BY
cláusula
Para calcular a duração total de cada álbum, você precisa usar a SUM
função com a GROUP BY
cláusula.
Primeiro, a GROUP BY
cláusula agrupa um conjunto de faixas por álbuns. Em seguida, a SUM
função calcula a soma das durações das faixas por álbum.
A fala a seguir ilustra a ideia:
SELECT
AlbumId,
SUM(milliseconds)
FROM
tracks
GROUP BY
AlbumId;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
SUM
Exemplo de função e INNER JOIN
cláusula SQLite
Para incluir os títulos dos álbuns na saída, junte a tracks
tabela à albums
tabela usando a INNER JOIN
cláusula a seguir:
SELECT
tracks.albumid,
title,
SUM(milliseconds)
FROM
tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
GROUP BY
tracks.albumid,
title;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
SUM
Exemplo de função e HAVING
cláusula SQLite
Você pode usar a SUM
função na HAVING
cláusula para filtrar grupos com base em uma condição especificada.
Por exemplo, a instrução a seguir obtém todos os álbuns cuja duração total é superior a 1.000.000 milissegundos:
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;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste tutorial, apresentamos a SUM
função SQLite que retorna a soma dos valores em um grupo.