Unidad 5. Ejercicio paso a paso: Selección sobre agrupaciones con HAVING


Nota: Para realizar los ejercicios, utiliza la base de datos GestionSimples.

Objetivo

Filtrar los resultados de una consulta de resumen con GROUP BY, mediante la cláusula HAVING.

Ejercicio paso a paso

Para cada empleado  cuyos pedidos suman más de 300 euros, hallar el importe medio vendido.

SELECT rep, AVG(importe) AS [Importe medio]

FROM pedidos 

GROUP BY rep

HAVING SUM(importe) > 300;

Resultado:

rep Importe medio
105 154,5492
107 114,7733
110 159,6066

Si quisiéramos que además aparezca el nombre del  empleado:

SELECT rep, nombre, AVG(importe) AS [Importe medio]

FROM empleados INNER JOIN pedidos ON numemp = rep

GROUP BY rep, nombre

HAVING SUM(importe) > 300;
rep nombre Importe medio
105 Vicente Pantalla 154,5492
107 Jorge Gutiérrez 114,7733
110 Juan Victor 159,6066

Por cada oficina con 2 o más personas, calcula la cuota total y las ventas totales  de todos los empleados que trabajan en la oficina, de la oficina queremos el número y la ciudad.

SELECT oficinas.oficina, ciudad, SUM(cuota) AS [Cuota total], SUM(empleados.ventas) AS ventas

FROM empleados INNER JOIN oficinas ON empleados.oficina = oficinas.oficina

GROUP BY oficinas.oficina, ciudad

HAVING COUNT(*) > 2;

Resultado:

oficina ciudad Cuota total ventas
12 Alicante 77500,00 73400,00
21 Badajoz 80000,00 143500,00

   Inicio    



.