Saltar al contenido

El tercer sello

Enunciado

La tienda estrena una tarjeta de sellos: un sello por pedido y, con el tercero, un regalo. Como los pedidos de antes también valen, ya hay clientes con la tarjeta llena. El dueño quiere saber con qué pedido la llenó cada uno y cuánto tardó.

Los pedidos de un cliente van por fecha y, dentro del mismo día, por número de pedido. Muestra el nombre, el producto de su tercer pedido, la fecha de ese pedido y los días que pasaron desde el primero, en ese orden. Arriba quien la llenó en menos días y, si empatan, por nombre. Quien no llega a tres pedidos no sale.

El pedido con fecha del día 20 es el tercero de Luis y vale su sello: mientras nadie la corrija, sale con la fecha que tiene apuntada.

Lo que tiene que devolver

Estas filas, en este orden

nombreproductofechadias
AnaRatón2026-01-129
LuisTableta2026-01-2016

Es lo que sale con los datos de la base de práctica del reto. Los nombres de las columnas no cuentan, las tuyas pueden llamarse como quieras: cuenta cuántas son y en qué orden van. Además de esta, el reto tiene pruebas ocultas con otros datos, que se revelan al enviar tu solución.

Empiezas con esto

SQL

SELECT cliente_id, fecha,
  ROW_NUMBER() OVER (
    ORDER BY fecha, id
  ) AS num
FROM pedidos;
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n²)

Ver todos los retos →