oracle - 4


Información sobre Datos Agregados
mediante las Funciones de Grupo


objetivos




Identificar funciones de grupo
Uso de las funciones de grupo
Cláusula Group By
Cláusula Having 

funciones de grupo


Las funciones de grupo operan en juegos de filas para
dar un resultado por grupo.



argumentos funciones 

argumentos funciones


DISTINCT, ALL. El valor por defecto es ALL.

Para las funciones con un argumento expr pueden ser CHAR, VARCHAR2, NUMBER o DATE.

Ignoran los valores nulos. Utilizar las funciones NVL, NVL2 o COALESCE.

Funciones AVG, SUM, MIN y MAX datos numéricos



argumentos funciones


MIN y MAX para tipos de datos numéricos, de carácter y de fecha.

Función Count  COUNT(*),
 COUNT(expr), 
 COUNT(DISTINCT expr)

Valores Nulos son ignorados, se resuelve con la Cláusula NVL.


Creación de Grupos de Datos


Como devolver seleccionar otras columnas más otras que tengan funciones de grupo?

Hasta el momento solo las funciones han tratado las tablas como conjunto de datos para devolver solo un resultado.


! GROUP BY ¡


Sintaxis de la Cláusula GROUP BY




Permite dividir las filas de una tabla en pequeños grupos para arrojar resultados en conjunto.

tips de group by 


Si incluye una función de grupo en una cláusula SELECT, no puede seleccionar además resultados individuales, a menos que la columna individual aparezca en la cláusula GROUP BY. 

Mediante una cláusula WHERE, puede excluir filas antes de dividirlas en grupos.

No puede utilizar un alias de columna en la cláusula GROUP BY.

debemos tener en cuenta


Todas las columnas de la lista SELECT que no sean funciones de grupo se deben incluir en la cláusula GROUP BY.

ejemplo group by



otro ejemplo group by 


La columna del GROUP BY no tiene que estar en la lista SELECT.


Agrupación por Más de Una Columna

En ocasiones, necesita ver los resultados para grupos dentro de grupos.

solución 


La función SUM se aplica a la columna de salarios para todos los Job_id de cada grupo de departament_id.


Consultas Ilegales que

Utilizan Funciones de Grupo




¿EJECUTA O NO?

SOLUCIÓN 




Cláusula Group By.


consulta ilegal 



¿Porque pasa esto en la consulta?

condiciones


No puede utilizar la cláusula WHERE para restringir grupos.
No puede utilizar funciones de grupo en la cláusula WHERE.


Se debe utilizar la cláusula HAVING para restringir grupos.

SINTAXIS CLAUSULA HAVING


Recordar que la cláusula HAVING me permite realizar condiciones a las funciones de grupo.

No es un Where 

solución 

Puede corregir el error del ejemplo si utiliza la cláusula HAVING para restringir grupos.


EJERCICIO


solución 



Aplicar condiciones a las funciones de grupo 


Anidamiento de Funciones de Grupo


Las funciones de grupo se pueden anidar hasta una profundidad de dos.
Made with Slides.com