Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
AVG(Ventas)
289353.20
COUNT(Cuota)
9
COUNT(Cuota)
9
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
2 HAVING
3 Select
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.