Curso
La función SQL SUM() es una función de agregación muy útil para calcular totales de columnas numéricas. La función SUM() es clave en el análisis de datos porque resume métricas esenciales de columnas numéricas concretas. Gracias a su aplicación directa, SUM() ayuda a los analistas de datos a extraer conclusiones relevantes a partir de grandes conjuntos de datos. Además, esta función versátil está disponible en diferentes bases de datos, como SQL Server, PostgreSQL, MySQL y Oracle.
Si estás empezando o ya tienes experiencia como analista de datos y quieres llevar tus habilidades analíticas al siguiente nivel, te recomiendo los cursos de DataCamp Introduction to SQL e Intermediate SQL para mejorar tus habilidades de análisis de datos. La chuleta de SQL básico también te será de gran ayuda a medida que avances.
Cómo usar la función SUM() en SQL
La función SUM() en SQL se utiliza para agregar los totales de una columna concreta en un conjunto de datos. Imagina la tabla orders con la siguiente estructura.

Tabla de ejemplo para agregar totales de columnas con SUM(). Imagen del autor.
La consulta de abajo devuelve el total de cantidades de la columna quantity, con el alias total_quantity, y los ingresos calculados como la suma del producto de quantity y price, con el alias total_revenue.
Fíjate en que, en el caso de total_revenue, la función SUM() se usa junto con una expresión para realizar un cálculo adicional sobre la columna antes de obtener el total. Además, observa que SUM() ignora los valores NULL al calcular los totales.
-- Selecciona la cantidad total y los ingresos totales-- Calcula la cantidad total de todos los pedidos y asígnale el alias 'total_quantity'.-- Calcula los ingresos totales y asígnales el alias 'total_revenue'.SELECT SUM(quantity) AS total_quantity, SUM(quantity * price) AS total_revenueFROM orders;
Tabla de salida de ejemplo de SUM() usando un alias y una expresión. Imagen del autor.
Casos de uso de la función SUM() en SQL
La función SUM() en SQL también puede emplearse para realizar cálculos avanzados. Veamos algunos ejemplos.
Calcular una suma acumulada en SQL
Una suma acumulada es el total creciente de una columna numérica. Calcular sumas acumuladas es importante porque ayuda a seguir la evolución de métricas clave, como ingresos o ventas, en distintos periodos. La consulta siguiente muestra cómo usar SUM() para calcular los totales acumulados de la columna quantity.
-- Calcula sumas acumuladas de la columna 'quantity' para cada order_dateSELECT order_date, quantity, -- Calcula la suma acumulada de 'quantity' ordenada por 'order_date' SUM(quantity) OVER (ORDER BY order_date) AS cumulative_quantityFROM orders;
Salida de tabla de ejemplo usando SUM() para calcular sumas acumuladas. Imagen del autor.
Te recomiendo el curso Data Manipulation in SQL de DataCamp, que explica en detalle el uso de funciones de ventana en agregaciones para técnicas como el cálculo de totales en ejecución. La chuleta de funciones de ventana en SQL también es una guía útil para consultar rápidamente las distintas funciones de ventana y sus aplicaciones.
Sumar varias columnas en SQL
La función SUM() también puede utilizarse para calcular los totales de varias columnas. Este enfoque agrega datos de múltiples columnas en una sola. Observa la nueva tabla orders de abajo, con las columnas opening_quantity y received_quantity.

Tabla de ejemplo para sumar varias columnas con SUM(). Imagen del autor.
El siguiente ejemplo muestra cómo utilizar SUM() para calcular el total combinado de las columnas opening_quantity y received_quantity. Aquí se usa el operador + para realizar la suma aritmética entre dos valores numéricos.
-- Calcula la cantidad total de las columnas opening_quantity y received_quantity-- Suma los valores totales en una columnaSELECT SUM(opening_quantity + received_quantity) AS total_quantityFROM orders;
Tabla de salida de ejemplo usando SUM() para sumar varias columnas. Imagen del autor.
Calcular una suma móvil en SQL
La suma móvil permite calcular totales en función de un número de filas anteriores especificado. La función SUM() en SQL calcula la suma móvil para métricas importantes, como las ventas totales de los últimos 7 días. La consulta siguiente muestra un ejemplo de cómo usar SUM() para calcular la suma móvil de quantity en las últimas 3 filas ordenadas por order_date.
-- Calcula sumas móviles de la columna 'quantity' para los 3 últimos pedidos de cada order_dateSELECT order_date, quantity, -- Calcula la suma móvil de 'quantity' sobre las 3 últimas filas ordenadas por 'order_date' SUM(quantity) OVER ( ORDER BY order_date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW ) AS rolling_quantityFROM orders;
Salida de tabla de ejemplo del cálculo de una suma móvil en SQL usando SUM(). Imagen del autor.
Sumar valores DISTINCT en SQL
Puedes sumar los valores de una columna usando la palabra clave DISTINCT para obtener el total solo de los valores únicos. En el ejemplo siguiente, se utiliza DISTINCT para sumar los valores únicos de las columnas quantity y price.
-- Suma los valores distintos de las columnas quantity y priceSELECT SUM(DISTINCT quantity) AS total_distinct_quantity, SUM(DISTINCT price) AS total_distinct_priceFROM orders;SUM y otras funciones de agregación de SQL
Como hemos visto, la función SUM() en SQL es una herramienta potente y más versátil de lo que parece. Aun así, es solo una de muchas funciones de agregación en SQL. Aquí tienes una tabla que resume las funciones de agregación más comunes, sus descripciones y algunos ejemplos:
| Función | Descripción | Ejemplo |
|---|---|---|
| SUM() | Calcula el total de una columna numérica. | Cantidad total e ingresos. |
| AVG() | Calcula el valor medio de una columna numérica. | Precio medio de productos. |
| MIN() | Devuelve el valor más pequeño de una columna. | Cantidad mínima de pedidos. |
| MAX() | Devuelve el valor más grande de una columna. | Precio máximo de productos. |
| COUNT() | Devuelve el número de filas que cumplen una condición. | Número total de pedidos. |
Conclusión
Aprender la función SUM() en SQL es importante para comprender sus distintas aplicaciones en análisis de datos. SUM() es compatible con las principales bases de datos y su implementación es similar, con diferentes cláusulas y funciones de ventana. Te animo a practicar las aplicaciones de SUM() con distintos conjuntos de datos para afianzar tus habilidades en SQL.
Si quieres avanzar en SQL para analítica de negocio, échale un vistazo al itinerario de habilidades SQL Fundamentals de DataCamp para dominar las competencias bajo demanda. Del mismo modo, te recomendamos nuestro itinerario profesional Associate Data Analyst in SQL para aprender y perfeccionar las habilidades de SQL necesarias para impulsar tu carrera profesional. Por último, te animamos a obtener la SQL Associate Certification de DataCamp para demostrar tu dominio de SQL y destacar frente a otros analistas de datos.
Preguntas frecuentes
¿Qué es la función SQL SUM()?
La función SUM() calcula el total de los valores de una columna numérica en una tabla o conjunto de datos.
¿Cuál es la diferencia entre las funciones SUM() y COUNT()?
La función SUM() calcula el total de los valores de una columna. La función COUNT() devuelve el número total de filas en base a una condición.
¿Cómo gestiona la función SUM() los valores NULL?
Al calcular los totales, la función SUM() ignora los valores NULL de una columna.
¿Se puede usar la palabra clave DISTINCT con SUM()?
La palabra clave DISTINCT se usa junto con SUM() para calcular el total de los valores únicos de una columna.
¿Cómo puedes usar SUM() con funciones de ventana?
La función SUM() puede usarse como función de ventana con la cláusula OVER para calcular sumas acumuladas y otros cálculos por particiones de los datos.
¿Qué otras funciones en SQL son similares a SUM()?
Otras funciones de agregación similares en SQL incluyen AVG() para medias, COUNT() para recuentos de filas, MIN() para el valor más pequeño, MAX() para el mayor, COUNT(DISTINCT) para recuentos únicos, GROUP_CONCAT() para concatenación de cadenas y STDDEV() o VARIANCE() para cálculos estadísticos. Estas funciones ayudan a resumir y analizar datos de forma eficiente.


