Problema:
Você gostaria de somar os valores de uma coluna.
Exemplo:
Nosso banco de dados tem uma tabela chamada
game com dados nas seguintes colunas:id , player e score . | id | jogador | pontuação |
|---|---|---|
| 1 | João | 134 |
| 2 | Tom | 146 |
| 3 | Lucy | 20 |
| 4 | Tom | 118 |
| 5 | Tom | 102 |
| 6 | Lucy | 90 |
| 7 | Lucy | 34 |
| 8 | João | 122 |
Vamos encontrar a pontuação total obtida por todos os jogadores.
Solução:
SELECT SUM(score) as sum_score FROM game;
Aqui está o resultado:
| sum_score |
|---|
| 766 |
Discussão:
A função agregada
SUM é ideal para calcular a soma dos valores de uma coluna. Esta função é usada em um SELECT e recebe o nome da coluna cujos valores você deseja somar. Se você não especificar nenhuma outra coluna no
SELECT declaração, então a soma será calculada para todos os registros na tabela. Em nosso exemplo, selecionamos apenas a soma e nenhuma outra coluna. Portanto, a consulta em nosso exemplo retorna a soma de todas as pontuações (766). Obviamente, também podemos calcular a pontuação total obtida por cada jogador usando uma cláusula GROUP BY e selecionando o nome de cada jogador na tabela, juntamente com a soma:
Solução:
SELECT player, SUM(score) as sum_score FROM game GROUP BY player;
Esta consulta retorna a pontuação total de cada jogador:
| jogador | pontuação |
|---|---|
| João | 256 |
| Tom | 366 |
| Lucy | 144 |