Ir al contenido principal

Función AVG – Parte 1

Calcula el valor promedio de una columna numérica o expresión en un grupo. Su sintaxis es:

AVG([DISTINCT | ALL] expr);

La sintaxis puede ser descompuesta:

AVG(DISTINCT expr)
AVG(ALL expr)
AVG(expr)

Cuando AVG(DISTINCT expr) es invocada, los valores distintos de expr son sumados y son divididos entre el numero de ocurrencias únicas de expr. AVG(ALL expr) y AVG(expr) suman los valores no nulos de expr y divide la suma entre el numero de filas no nulas en un grupo.  El tipo de dato del parámetro es NUMBER.

Ejemplos:
-- OBTENER EL PROMEDIO DE LOS SALARIOS DE LOS EMPLEADOS CON MANAGER_ID 124
-- AUTOMATICAMENTE AVG DESCARTA NULOS PARA OBTENER EL PROMEDIO
SELECT AVG(salary) FROM HR.employees WHERE manager_id = 124 ORDER BY employee_id;
SELECT AVG(ALL salary) FROM HR.employees WHERE manager_id = 124 ORDER BY employee_id;

-- OBTENER EL PROMEDIO DE LOS SALARIOS UNICOS DE LOS EMPLEADOS CON MANAGER_ID 124
-- AUTOMATICAMENTE AVG DESCARTA NULOS PARA OBTENER EL PROMEDIO
SELECT AVG(DISTINCT salary) FROM HR.employees WHERE manager_id = 124 ORDER BY employee_id;

-- OBTENER EL PROMEDIO DE LOS SALARIOS DE LOS EMPLEADOS POR MANAGER_ID
-- AUTOMATICAMENTE AVG DESCARTA NULOS PARA OBTENER EL PROMEDIO

SELECT department_id, AVG(ALL salary) FROM HR.employees GROUP BY department_id ORDER BY department_id;

Comentarios