SQL SUM: somando os valores de uma coluna
Nesta documentação de SQL falaremos sobre o SUM, utilizado em consultas quando queremos retornar o total de uma coluna, ou seja, a soma de todos os valores registrados nela.
SUM
Nesta documentação de SQL veremos como o SUM pode ser utilizado para retornar a soma de todos os valores de uma coluna numérica, ou mesmo resolver uma expressão.
Apresentaremos aqui como utilizar o SUM no SQL.
SUM: na prática
SELECT SUM(salario) FROM FUNCIONARIOS
Como funciona?
O SUM recebe como parâmetro uma coluna ou uma expressão e retorna um resultado.
Ao passar uma coluna, SUM somará todos os resultados da tabela que forem retornados para a coluna especificada.
Já ao receber uma expressão, SUM resolverá a expressão para cada valor antes de somá-los. Veja em mais detalhes como esses dois processos funcionam nos tópicos a seguir.
SUM recebendo uma coluna
Considere a tabela de produtos da Tabela 1.
| id | preco |
| 1 | 20 |
| 2 | 30 |
| 3 | 50 |
Se quisermos saber a soma do preço de todos os produtos dessa tabela, precisaremos usar a seguinte query:
SELECT SUM(preco) FROM ProdutosO retorno dessa query seria 100,
porque 20 + 30 + 50 = 100.
Ao receber uma coluna como parâmetro, SUM somará todos os valores registrados nessa coluna.
SUM recebendo uma expressão
Como vimos anteriormente, SUM também pode receber como parâmetro uma expressão. Considere a mesma tabela de produtos que vimos antes:
| id | preco |
| 1 | 20 |
| 2 | 30 |
| 3 | 50 |
Agora, ao invés de receber apenas a soma de tudo, queremos aplicar 10% de desconto em cada valor. Para isso, faríamos o seguinte:
SELECT SUM (preco - ((preco * 10) / 100)) FROM ProdutosO que será feito é que antes de somar qualquer valor, serão
subtraídos os 10% de desconto. Desse modo, o resultado desta query será 90.
porque 20 com 10% de desconto é 18
30 com 10% de desconto é 27
50 com 10% de desconto é 45
Desse modo: 18 + 27 + 45 = 90
Sintaxe
SUM (coluna) SUM (expressao) Exemplos de uso do SUM
Exemplo 1
Sum sendo utilizado para somar uma coluna da tabela carros:
| Id | Carro | Velocidade |
| 1 | Ferrari 458 | 325 |
| 2 | Porsche 911 Carrera | 306 |
| 3 | BMW 325i | 240 |
SELECT SUM(Velocidade) FROM CarrosResultado:
| Total | 871 |
Exemplo 2
Sum sendo utilizado para calcular uma expressão que retornará a média de velocidade dos três registros da tabela carros:
| Id | Carro | Velocidade |
| 1 | Ferrari 458 | 325 |
| 2 | Porsche 911 Carrera | 306 |
| 3 | BMW 325i | 240 |
SELECT SUM(Velocidade / 3) FROM CarrosResultado:
| Total | 290,333 |
Exemplo 3
Sum sendo utilizado para mostrar a soma de todas as velocidades cadastradas na tabela carros, agrupadas pelo fabricante:
| Id | Fabricante | Carro | Velocidade |
| 1 | Ferrari | 458 | 325 |
| 2 | Porsche | 911 Carrera | 306 |
| 3 | BMW | 325i | 240 |
| 4 | Ferrari | F40 | 367 |
| 5 | BMW | M3 | 290 |
SELECT SUM(Velocidade) FROM Carros GROUP BY FabricanteResultado:
| BMW | 530 |
| Ferrari | 692 |
| Porsche | 306 |
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo