Problema:
Le gustaría sumar los valores de una columna.
Ejemplo:
Nuestra base de datos tiene una tabla llamada game
con datos en las siguientes columnas:id
, player
y score
.
id | jugador | puntuación |
---|---|---|
1 | Juan | 134 |
2 | Tomás | 146 |
3 | Lucía | 20 |
4 | Tomás | 118 |
5 | Tomás | 102 |
6 | Lucía | 90 |
7 | Lucía | 34 |
8 | Juan | 122 |
Busquemos la puntuación total obtenida por todos los jugadores.
Solución:
SELECT SUM(score) as sum_score FROM game;
Aquí está el resultado:
sum_score |
---|
766 |
Discusión:
La función agregada SUM
es ideal para calcular la suma de los valores de una columna. Esta función se usa en un SELECT
instrucción y toma el nombre de la columna cuyos valores desea sumar.
Si no especifica ninguna otra columna en SELECT
declaración, la suma se calculará para todos los registros de la tabla. En nuestro ejemplo, solo seleccionamos la suma y ninguna otra columna. Por lo tanto, la consulta de nuestro ejemplo devuelve la suma de todas las puntuaciones (766).
Por supuesto, también podemos calcular la puntuación total obtenida por cada jugador usando una cláusula GROUP BY y seleccionando el nombre de cada jugador de la tabla, junto con la suma:
Solución:
SELECT player, SUM(score) as sum_score FROM game GROUP BY player;
Esta consulta devuelve la puntuación total de cada jugador:
jugador | puntuación |
---|---|
Juan | 256 |
Tomás | 366 |
Lucía | 144 |