Funciones de agregado en SQL Server
En SQL Server, las funciones de agregado nos permiten realizar cálculos sobre un conjuto de valores y devuelve un solo valor como resultado. Son muy utilizadas en análisis de datos, reportes, y consultas que requieren resúmenes o estadísticas.
Las funciones de agregado ignoran los valores NULL
y se suelen usar junto a la cláusula GROUP BY
dentro de una instrucción SELECT
.
1. COUNT()
- Contar filas
Devuelve la cantidad de filas que existen en una tabla:
1
2
3
-- Contar todos los registros de la tabla empleados
SELECT COUNT(*) AS TotalEmpleados
FROM Empleados;
TotalEmpleado |
---|
83 |
2. SUM()
- Sumar valores
Devuelve la suma de los valores de una columna numérica:
1
2
3
-- Suma de todos los sueldos
SELECT SUM(Salario) AS TotalSueldos
FROM Empleados;
3. AVG()
- Promedio
Calcula el valor promedio de una columna numérica:
1
2
3
-- Promedio de sueldos
SELECT AVG(Salario) AS PromedioSueldos
FROM Empleados;
4. MIN()
- Valor mínimo
Devuelve el menor valor de una columna:
1
2
3
-- Sueldo más bajo registrado
SELECT MIN(Salario) AS SueldoMinimo
FROM Empleados;
5. MAX
- Valor máximo
Devuelve el mayor valor de una columna:
1
2
3
-- Sueldo más alto registrado
SELECT MAX(Salario) AS SueldoMaximo
FROM Empleados;
Uso con GROUP BY
`
Un ejemplo típico es agrupar los datos por departamentos:
1
2
3
4
5
SELECT Departamento,
COUNT(*) AS TotalEmpleados,
AVG(Salario) AS PromedioSueldos
FROM Empleados
GROUP BY Departamento;
Consideraciones importantes
- Las funciones de agregado ignoran los valores
NULL
, exceptoCOUNT(*)
, que cuenta todas las filas. - Se pueden combinar varias funciones en la misma consulta.
- Es común usarlas junto con
HAVING
, para filtrar grupos según condiciones:
1
2
3
4
5
-- Departamentos con promedio de sueldo mayor a 1500000
SELECT Departamento, AVG(Salario) AS PromedioSueldos
FROM Empleados
GROUP BY Departamento
HAVING AVG(Salario) > 1500000;
Esta entrada está licenciada bajo CC BY 4.0 por el autor.