La caja, día a día
- O(n²) · Muy difícil
- Plan completo
- SQL
- ventanas
- agrupar
- condicionales
Enunciado
El dueño quiere ver cómo fue creciendo la caja: cuánto dinero entró cada día que hubo pedidos y cuánto llevaba la tienda en total al cerrar ese día. Hoy es 15 de enero de 2026 y nadie pide en el futuro. Un pedido con fecha posterior a hoy es de hoy, con el día mal tecleado, y su dinero va en el de hoy.
Muestra el día, el dinero de ese día y el acumulado, en ese orden, los dos importes redondeados a 2 decimales y con el día más reciente arriba. Hoy se puede escribir '2026-01-15' o DATE('now').
Lo que tiene que devolver
Estas filas, en este orden
| dia | del_dia | acumulado |
|---|---|---|
| 2026-01-15 | 499.7 | 2289.85 |
| 2026-01-14 | 899 | 1790.15 |
| 2026-01-12 | 35.65 | 891.15 |
| 2026-01-11 | 378 | 855.5 |
| 2026-01-10 | 45.5 | 477.5 |
| 2026-01-09 | 52.5 | 432 |
| 2026-01-04 | 288.5 | 379.5 |
| 2026-01-03 | 91 | 91 |
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 p.fecha,
SUM(pr.precio * p.cantidad)
AS dinero
FROM pedidos p
JOIN productos pr
ON p.producto_id = pr.id
GROUP BY p.fecha;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²)
- La semana del 4SQL · fechas · agrupar · textos
- Llega el miércolesSQL · fechas · condicionales
- Lo que salió hoySQL · modificar datos · subconsultas · nulos
- Pasados de plazoSQL · fechas · nulos · uniones
- Paula se vaSQL · modificar datos · subconsultas
- Un aumento, no dosSQL · modificar datos · condicionales