La función SUM en SQL es una función agregada que se utiliza para calcular el total de los valores de una columna en particular. Generalmente, se emplea para sumar valores numéricos en bases de datos, como precios, cantidades, salarios, etc.
La función SUM toma como argumento una columna numérica y devuelve la suma de todos los valores en esa columna. Se utiliza comúnmente en combinación con otras cláusulas como GROUP BY para calcular totales en diferentes categorías.
Imagina que tenemos dos tablas: ventas y empleados. La tabla ventas almacena información sobre las transacciones realizadas, incluyendo el monto total de cada venta y la fecha en que se realizó. Por otro lado, la tabla empleados contiene datos sobre los empleados de la empresa, como sus nombres y identificadores únicos. Con estas tablas, podemos realizar diversas consultas SQL para analizar el rendimiento de las ventas y la contribución de cada empleado al total de ingresos de la empresa.
| id | total_venta | fecha_venta | region | cliente_id |
|-----|-------------|---------------|-----------|------------|
| 1 | 100.00 | 2023-01-05 | Norte | 1 |
| 2 | 250.50 | 2023-01-10 | Sur | 1 |
| 3 | 300.75 | 2023-02-15 | Norte | 2 |
| 4 | 150.00 | 2023-03-20 | Este | 3 |
| 5 | 500.00 | 2023-04-25 | Sur | 3 | | id | nombre | salario |
|-----|-----------------|---------|
| 1 | Juan Pérez | 3000.00 |
| 2 | María González | 2500.00 |
| 3 | Pedro Rodríguez | 2700.00 |
| 4 | Ana Martínez | 3200.00 |
| 5 | Luis Fernández | 2900.00 | SELECT SUM(nombre_columna) FROM nombre_tabla; Supongamos que tienes una tabla de ventas llamada ventas, y quieres saber el total de las ventas.
SELECT SUM(total_venta) AS total_ventas FROM ventas; Este comando devuelve la suma de todas las ventas en la columna total_venta.
| total_ventas |
|--------------|
| 1301.25 | 1. Calcular el Total de VentasPuedes usar SUM para calcular el total de ventas en un negocio o en un rango de fechas:
SELECT SUM(total_venta) AS total_ventas
FROM ventas
WHERE fecha_venta BETWEEN '2023-01-01' AND '2023-12-31'; | total_ventas |
|--------------|
| 1301.25 | 2. Sumar Salarios de los EmpleadosPara sumar los salarios de todos los empleados en una empresa, puedes usar:
SELECT SUM(salario) AS total_salarios FROM empleados; | total_salarios |
|----------------|
| 14300.00 | 3. Calcular Sumas AgrupadasSi necesitas sumar valores basados en una categoría, puedes usar GROUP BY junto con SUM. Por ejemplo, para calcular el total de ventas por región:
SELECT region, SUM(total_venta) AS total_ventas
FROM ventas GROUP BY region; | region | total_ventas |
|--------|--------------|
| Norte | 400.75 | -- (100.00 + 300.75)
| Sur | 750.50 | -- (250.50 + 500.00)
| Este | 150.00 | -- (solo hay una venta en esta región) 4. Filtrar Resultados con HAVINGPuedes utilizar SUM junto con la cláusula HAVING para filtrar resultados en base a la suma calculada:
SELECT cliente_id, SUM(total_venta) AS total_ventas
FROM ventas
GROUP BY cliente_id
HAVING SUM(total_venta) > 10000; Esto te devuelve solo los clientes con ventas totales mayores a 10,000.
| cliente_id | total_ventas |
|------------|--------------|
| 1 | 11000.00 | -- (5000.00 + 6000.00)
| 2 | 7000.00 | -- No se muestra porque no excede 10000
| 3 | 7000.00 | -- No se muestra porque no excede 10000