Saltar al contenido

Proyecto: el informe en pasos

SQL · Unidad 10: WITH y conjuntos

El dueño quiere saber qué productos tiran de la tienda. En la unidad pasada midió a sus clientes contra el promedio, y ahora mide sus productos. ¿Cuánto ha dejado cada uno, cuál es el promedio y cuáles lo pasan? Esta vez cada pregunta va a tener su sitio y su nombre.

La primera es este paso. Cuenta todo lo pedido, también la Tableta del día 20. Salen siete productos. El Parlante no está, porque nadie lo ha pedido y un JOIN a secas no lo trae.

WITH por_producto AS (
  SELECT pr.nombre,
    SUM(pr.precio * p.cantidad)
      AS vendido
  FROM pedidos p
  JOIN productos pr
    ON p.producto_id = pr.id
  GROUP BY pr.id, pr.nombre
)
SELECT nombre, vendido
FROM por_producto
ORDER BY vendido DESC;

Devuelve

nombrevendido
Portátil899
Monitor567
Tableta320
Audífonos179.7
Teclado136.5
Ratón119.4
Cable68.25

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Completa el código

    El segundo paso, promedio, guarda en una sola fila el promedio de lo vendido por producto. Completa qué promedia y de dónde lo lee.

  2. 2. Escribe el código

    La tercera pregunta. Los dos pasos ya están. Escribe debajo la consulta que devuelve dos columnas en este orden, el nombre y lo vendido de los productos que han dejado más que el promedio. Primero el que más. El promedio no va escrito a mano. Está en la columna valor del paso promedio.

  3. 3. Escribe el código

    El dueño hace una pregunta más. ¿Cuánto de lo vendido viene de esos productos? Añade un tercer paso, destacados, con el nombre y lo vendido de los productos que pasan del promedio, y debajo una consulta que devuelva una sola fila con dos columnas en este orden, cuántos productos hay en destacados y cuánto suman.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →