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 |