Consultas Información Agrupada

1. Obtener para cada pieza, nombre de la pieza, precio de venta y la media de la diferencia

entre el precio de venta y el de suministro.

SELECT p.nompieza, p.preciovent, AVG( p.preciovent ps.preciounit )
FROM pieza p, preciosum ps
WHERE p.numpieza
= ps.numpieza
GROUP BY p.nompieza
LIMIT 0 , 30

2. Obtener para cada número de pedido, el precio pagado en total por ese pedido, la cantidad

pedida total así como la diferencia entre cantidad pedida total y cantidad recibida total.

SELECT numpedido, SUM( preciocompra * cantrecibida ) , SUM( cantpedida ) , SUM( cantpedida ) SUM( cantrecibida )
FROM linped
GROUP BY numpedido
LIMIT 0 , 30

3. Obtener la cantidad de vendedores de cada empresa, indicando cantidad y nombre de la

misma ordenado descendentemente por cantidad de empleados.

SELECT v.nombrecomer, COUNT( numvend ) AS cantidad
FROM vendedor v
GROUP BY nombrecomer
ORDER BY cantidad DESC
LIMIT 0 , 30

4. Obtener, por pieza solicitada, la máxima diferencia entre cantidad pedida y cantidad

recibida de entre todas las veces en que fue servida.

SELECT numpieza, MAX( l.cantpedida l.cantrecibida )
FROM linped l
GROUP BY numpieza
LIMIT 0 , 30

5. Obtener para cada pieza, el número de la pieza y el número total de vendedores que nos

pueden suministrar esa pieza.

SELECT COUNT(*), (v.numvend)

FROM preciosum ps,vendedor v

WHERE v.numvend=ps.numvend

GROUP BY ps.numpieza

6. Obtener número de pieza y número total de vendedores que la pueden suministrar para

piezas de más de 250€ de precio de venta.

SELECT p.numpieza, count( ps.numvend ) , ps.numpieza
FROM pieza p, preciosum ps
WHERE p.numpieza
= ps.numpieza
AND p.preciovent >250
GROUP BY ps.numpieza
LIMIT 0 , 30

7.-De cada pieza obtener el precio unitario medio de suministro.

SELECT p.numpieza, AVG( ps.preciounit )
FROM pieza p, preciosum ps
WHERE p.numpieza
= ps.numpieza
GROUP BY ps.numpieza;
LIMIT 0 , 30

  1. De cada pieza de precio de venta mayor que 250€ obtener el precio medio de suministro.

SELECT p.nompieza, AVG( ps.preciounit )
FROM preciosum ps,pieza p
WHERE p.numpieza
= ps.numpieza
AND p.preciovent >250
GROUP BY p.numpieza
LIMIT 0 , 30

  1. Obtener la media de las ventas realizadas por cada vendedor de cada pieza.

SELECT AVG( preciocompra*catrecibida)p.numpieza
FROM linped l, pedido p
WHERE p.numpieza
= ps.numpieza
GROUP BY ps.numvend,p.numpieza
LIMIT 0 , 30

10.Obtener la cantidad de pedidos efectuados por fecha y el total pagado por las mercancías.

SELECT COUNT( p.numpedido ) , SUM( l.cantrecibida * l.preciocompra AS total_pagado)
FROM linped l, pedido p
WHERE li.numpedido
= p.numpedido
GROUP BY p.fecha
LIMIT 0 , 30

11.Calcular las ganancias (precio de compra menos precio de suministro por la cantidad

recibida) de cada vendedor que ha efectuado alguna venta.

ESTE EJERCICIO ES COMPLICADO “

SELECT ((li.preciocompra – pr.preciounit)*li.contrecibida AS ganancias

FROM linped l JOIN preciosum pr, JOIN pedido p ,ON p.numpedido=l.numpedido AND l.numpieza=pr.numpieza AND p.numvend=pre.numvend

GROUP BY pr.numvend;

12.Calcular por número de pedido, la media de la diferencia entre el precio de compra y el de

suministro (que nos ofertaba el vendedor al que se le solicitó el pedido) de las líneas de

cada pedido.

SELECT count(l.numpedido),AVG (preciocompra-preciounit)

FROM linped.l,preciosum pr

WHERE l.numpieza=pr.numpieza

GROUP BY pr.nunvend,l.numpedido;

Anuncios

Publicado el 27 septiembre, 2016 en Base de Datos. Añade a favoritos el enlace permanente. Comentarios desactivados en Consultas Información Agrupada.

Los comentarios están cerrados.

A %d blogueros les gusta esto: