Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Función MySQL SUM()

La función `SUMA()` de MySQL se utiliza para calcular la suma total de una columna numérica. Es especialmente útil para agregar datos entre filas en consultas como totales de ventas, importes o cualquier dato numérico.

Utilización

La función `SUMA()` se utiliza habitualmente en las sentencias `SELECT` combinadas con `GROUP BY` para agregar valores en un conjunto de datos. Calcula la suma de todos los valores de la columna especificada.

sql
SELECT SUM(column_name)
FROM table_name
[WHERE condition];

En esta sintaxis, `SUMA(nombre_columna)` suma los valores de `nombre_columna` de la tabla o subconjunto de filas especificado.

Ejemplos

1. Suma básica

sql
SELECT SUM(price) AS total_price
FROM products;

Esta consulta calcula la suma total de la columna `precio` de la tabla `productos`.

2. Suma con una condición

sql
SELECT SUM(amount) AS total_sales
FROM sales
WHERE sale_date = '2023-10-01';

Aquí, la función `SUMA()` calcula el importe total de las ventas realizadas el 1 de octubre de 2023.

3. Suma con Agrupación

sql
SELECT customer_id, SUM(amount) AS total_spent
FROM orders
GROUP BY customer_id;

Este ejemplo utiliza `SUM()` junto con `GROUP BY` para calcular el importe total gastado por cada cliente.

Consejos y buenas prácticas

  • Utiliza alias. Utiliza alias (`AS`) para que los nombres de las columnas de resultados sean claros y comprensibles.
  • Combinar con GROUP BY. Utiliza `SUMA()` con `GRUPO POR` para obtener totales agrupados y conocer mejor los segmentos de datos. Utiliza `HAVING` para filtrar los resultados agregados.
  • Filtra con WHERE. Combina `SUMA()` con `DÓNDE` para centrarte en subconjuntos relevantes de datos y obtener resultados precisos.
  • Mente Valores nulos. Ten en cuenta que `SUMA()` ignora los valores `NULL`. Utiliza `COALESCE()` para tratar eficazmente los valores `NULL`, por ejemplo, `SUMA(COALESCE(nombre_columna, 0))`.
  • Precisión decimal. Ten cuidado con la precisión decimal, especialmente en los cálculos financieros. `SUMA()` mantiene la precisión de la columna de entrada.
  • Consideraciones sobre el rendimiento. Cuando utilices `SUMA()` en grandes conjuntos de datos, considera la posibilidad de indexar las columnas implicadas en las cláusulas `DÓNDE` y `GRUPO POR` para mejorar el rendimiento de la consulta.
  • Tratamiento de errores. Prepárate para gestionar posibles errores o resultados inesperados validando las entradas y revisando las consultas complejas para comprobar que son correctas.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis