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.
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.
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.