Las funciones de agregación en Oracle son herramientas esenciales para realizar cálculos sobre un conjunto de datos y devolver resultados resumidos en una única fila. Estas funciones se utilizan ampliamente en consultas para obtener promedios, sumas, conteos, valores máximos, mínimos y más, facilitando el análisis y la manipulación de grandes volúmenes de datos.
Cada función de agregación en Oracle está diseñada para simplificar tareas comunes en bases de datos, como generar reportes o calcular métricas clave. Por ejemplo, puedes emplearlas para calcular el total de ventas, el promedio de ingresos o identificar la fecha más reciente en un conjunto de registros.
En este artículo, te presentaré las funciones de agregación más populares, explicando su funcionamiento y proporcionándote ejemplos prácticos para utilizarlas en tus proyectos. Haz clic en el nombre de cada función para obtener detalles específicos y aprender a aplicarlas de manera eficiente.
Para más información, consulta la documentación oficial de Oracle sobre funciones de agregación.
Funciones de agregación en Oracle
Función | Descripción |
---|---|
AVG | Calcula la media de un conjunto de datos |
COUNT | Cuenta los registros de un conjunto de datos |
MAX | Devuelve el máximo de un conjunto de datos |
MIN | Devuelve el mínimo de un conjunto de datos |
SUM | Devuelve la suma de un conjunto de datos |
A tener en cuenta
Cuando usas funciones de agregación en Oracle las puedes utilizar en el SELECT o en la cláusula HAVING, pero nunca en el WHERE. La cláusula HAVING actual igual que el WHERE, pero admitiendo funciones de agregación.
Al usar una función de agregación, si tienes en el SELECT más campos al margen de la agregación, debes utilizar la cláusula GROUP BY indicando el resto de campos que no utilizan la agregación (a excepción de la función any_value), aquellos por los que quieres agrupar.
Ejemplo correcto:
select sum(sueldo) from empleados; select nombre, apellidos, sum(sueldo) from empleados group by nombre, apellidos;
Ejemplo incorrecto:
select nombre, apellidos, sum(sueldo) from empleados;