Sei sulla pagina 1di 3

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS


Area de Sistemas y Telemtica
Profesor: Ing. Javier Snchez Espinoza
CONSULTAS SUMARIAS
Se usan las funciones columnas o tambin llamadas agregadas donde SQL
permite dar un resultado total de datos de una tabla o de la base de datos
mediante este conjunto de funciones.
Funciones Columnas o Funciones Agregadas:
SUM( )
AVG( )
MIN( )
MAX( )
COUNT( )
COUNT(*)

Calcula el total de una columna


Calcula el valor promedio de una columna.
Encuentra el valor ms pequeo en una columna.
Encuentra el valor mayor en una columna.
Cuenta el nmero de valores en una columna.
Cuenta la fila de resultados de la consulta.

El argumento de una funcin columna puede ser un solo nombre de columna, o


puede ser una expresin.
Ejemplos: Cul es la cuota promedio y las ventas promedio de los vendedores?
Select AVG(Cuota), AVG(Ventas) FROM Repventas
AVG(Cuota)
300000

AVG(Ventas)
289353.20

Cul es el rendimiento de cuota promedio de los vendedores?


Select AVG(100* (Ventas/Cuota)) FROM Repventas
AVG(100* (Ventas/Cuota))
102.60
Select SUM(Cuota), MIN(Cuota), MAX(Cuota), AVG(Cuota),
COUNT(Cuota) FROM Repventas
SUM(Cuota) MIN(Cuota) MAX(Cuota) AVG(Cuota)
2700000
200000
350000
300000

COUNT(Cuota)
9

Los valores NULL Son ignorados

COUNT( ) y COUNT(*): COUNT(*) cuenta el N de filas


Select COUNT(*), COUNT(Cuota) FROM Repventas
COUNT(*)
10

COUNT(Cuota)
9

Eliminacin de filas duplicadas: El uso del DISTINCT que acompaa al


argumento solo en SUM( ), AVG( ) y COUNT( )
Elimina los valores duplicados de una columna antes de aplicarle la funcin
columna
Cuantos ttulos diferentes tienen los vendedores?
Select Count (Distinct ttulo) FROM Repventas
Count (Distinct Ttulo)
3
Cuantas oficinas de ventas tienen vendedores que superen a sus cuotas?
Select Count (Distinct Oficina_rep) FROM Repventas
WHERE Ventas > Cuota

CLAUSULA GROUP BY
Con el Select proporciona la capacidad de agrupar los resultados de una consulta
a un nivel de subtotal.
Ejemplo: Cual es el tamao medio de los pedidos?
Select avg(importe) from pedidos
Ejemplo: Cual es el tamao medio de pedido para cada vendedor?
Select rep, avg(importe) from pedidos group by rep
Tambin se pueden agrupar por ms de una columna, siempre con la misma
consideracin vista con el ORDER BY con ms de una columna, la columna
mandatoria que est a la izquierda de otra debe de tener valores repetidos, sino
no tiene sentido la agrupacin. En estas consultas agrupadas con varias columnas
es til el uso del count(*) dentro del Select para verificar la cantidad entera de
grupos especificados mayores que 1.
Ejemplo: Cual es el importe colocado por cada vendedor a los clientes?
Select clie, rep, count(*), sum(importe) from pedidos group by clie, rep
2

CLAUSULA HAVING
(Condiciones de Bsqueda de Grupos)
Al igual que la clausula WHERE que es utilizada para seleccionar y rechazar filas
individuales, HAVING selecciona y rechaza grupos de filas. Su formato es
anlogo a la clausula WHERE. HAVING especifica una condicin de bsqueda
para grupos.
Ejemplo: Cul es el tamao de pedido promedio para cada vendedor cuyos
pedidos totalizan ms de 30000?
Select Rep, Avg (Importe) FROM PEDIDOS Group by Rep
Having Sum (Importe) > 30000
1 Group by

Dispone grupos de pedidos por vendedor

2 HAVING

Elimina los grupos donde el total de pedidos es menor igual a


30000

3 Select

Calcula el tamao medio del pedido y genera los resultados de la


consulta.

Ejemplo:

Por cada oficina con dos ms personas, calcular la cuota total y las
ventas totales para todos los vendedores que trabajen en la Oficina.
Select Ciudad, Sum (Cuota), Sum (Repventas.Ventas)
FROM OFICINAS, REPVENTAS
WHERE Oficina = Oficina_rep
Group by Ciudad
HAVING Count (*) >=2
En este caso se hace un join, el where es necesario para indicar la
equicomposicin para las dos tablas y el Having descartar los grupos
menores que 2.

HAVING Sin Group By


No en la Prctica.
SQL considera el conjunto entero de resultados detallados como un nico grupo.
Las funciones de columna de la Clausula HAVING se aplican a un solo y nico
grupo para determinar si el grupo est incluido excluido de los resultados.

Potrebbero piacerti anche