Agregacion Group by Having

Agregacion Group by Having

Funciones de agregación Son funciones que toman una colección de valores como entrada y producen un único valor de salida. SQL proporciona cinco funciones de agregación primitivas:

• avg: media aritmética de un atributo o una expresión numérica

• min: mínimo de un atributo o expresión numérica

• max: máximo de un atributo o expresión numérica

• sum: suma total de atributos o expresiones numéricas

• count (*): contador de tuplas • count (distinct): contador de tuplas parcial, no tiene en cuenta

Todos los operadores, excepto avg y sum, pueden operar con números y cadenas de caracteres. La función de agregación se coloca en la línea select. La cláusula group by se utiliza cuando las funciones de agregación se aplican a un grupo de conjuntos de tuplas, y la cláusula having se utiliza para poner una condición a los grupos. Si en una misma consulta aparece where y having, se aplica primero el predicado de where.

Por ejemplo, obtener el saldo medio de cada cliente que vive en Madrid y tiene como mínimo tres cuentas:

select impositor.nombre-cliente, avg (saldo)

from impositor, cuenta, cliente

where impositor.número-cuenta = cuenta.número-cuenta and

impositor.nombre-cliente = cliente.nombre-cliente and

ciudad-cliente = “Madrid”

group by impositor.nombre-cliente

having count (distinct impositor.número-cuenta) >= 3

Operaciones sobre conjuntos

Union: corresponde a la unión de conjuntos. Por ejemplo, para encontrar todos los clientes que poseen un préstamo, una cuenta o ambas cosas (select nombre-clientefrom impositor)union(selectnombre-clientefrom prestatario)

La operación union elimina duplicados automáticamente. Para conservarlos se utiliza union all.

Intersect: corresponde a la intersección de conjuntos. También elimina duplicados, y se utiliza intersect all para que no los elimine.

Minus: equivale a la diferencia de conjuntos. Para conservar los duplicados se utiliza minus all.

ing.eddy


Mis sitios nuevos:
Emprendedores
Politica de Privacidad