Nota: Para realizar los ejercicios, utiliza la base de datos GestionSimples.
Realizar consultas de resumen utilizando la cláusula GROUP BY para agrupar filas.
Hallar el importe medio de pedidos realizados por cada empleado.
SELECT rep, AVG(importe) AS [Importe medio] FROM pedidos GROUP BY rep;
Resultado:
rep | Importe medio |
---|---|
101 | 88,76 |
102 | 25,92 |
103 | 21,00 |
105 | 154,5492 |
106 | 23,04 |
107 | 114,7733 |
108 | 40,9042 |
109 | 35,525 |
110 | 159,6066 |
Repetir la consulta pero para que también salgan los empleados que no han vendido nada.
SELECT numemp, AVG(importe) AS [Importe medio] FROM pedidos RIGHT JOIN empleados ON rep = numemp GROUP BY numemp;
Resultado:
rep | Importe medio |
---|---|
101 | 88,76 |
102 | 25,92 |
103 | 21,00 |
104 | NULL |
105 | 154,5492 |
106 | 23,04 |
107 | 114,7733 |
108 | 40,9042 |
109 | 35,525 |
110 | 159,6066 |
111 | NULL |
112 | NULL |
113 | NULL |
114 | NULL |
¿Cuál es en cada una de las oficinas, el rango de cuotas asignadas a sus vendedores?
SELECT oficinas.oficina, MIN(cuota) AS [Cuota mínima], MAX(cuota) AS [Cuota máxima] FROM oficinas LEFT JOIN empleados ON empleados.oficina = oficinas.oficina GROUP BY oficinas.oficina;
Resultado:
oficina | Cuota mínima | Cuota máxima |
---|---|---|
11 | 27500,00 | 27500,00 |
12 | 20000,00 | 30000,00 |
13 | 35000,00 | 40000,00 |
21 | 10000,00 | 35000,00 |
22 | 30000,00 | 30000,00 |
23 | NULL | NULL |
24 | NULL | NULL |
25 | NULL | NULL |
26 | NULL | NULL |
27 | NULL | NULL |
28 | NULL | NULL |
29 | NULL | NULL |
30 | NULL | NULL |
31 | NULL | NULL |
Listar cuántos empleados están asignados a cada oficina, incluso las que no tienen.
SELECT oficinas.oficina, COUNT(numemp) AS Empleados FROM oficinas LEFT JOIN empleados ON empleados.oficina = oficinas.oficina GROUP BY oficinas.oficina;
Resultado:
oficina | Empleados |
---|---|
11 | 1 |
12 | 3 |
13 | 2 |
21 | 3 |
22 | 1 |
23 | 0 |
24 | 0 |
25 | 0 |
26 | 0 |
27 | 0 |
28 | 0 |
29 | 0 |
30 | 0 |
31 | 0 |
Listar cuántos clientes son atendidos por cada empleado (el cliente ha realizado un pedido con él).
SELECT rep, COUNT(DISTINCT clie) AS [Clientes atendidos] FROM pedidos GROUP BY rep;
Resultado:
rep | Clientes atendidos |
---|---|
101 | 3 |
102 | 2 |
103 | 1 |
105 | 2 |
106 | 2 |
107 | 2 |
108 | 3 |
109 | 1 |
110 | 2 |
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.