La tienda en racha
- O(2ⁿ) · Legendaria
- Plan completo
- SQL
- ventanas
- fechas
Enunciado
El dueño jura que los pedidos llegan por rachas: unos días seguidos entra algo y luego la tienda se queda callada. Quiere verlas. Una racha son días seguidos del calendario en los que hubo al menos un pedido; un día sin ninguno la corta, y un día suelto es una racha de 1.
Muestra de cada racha su primer día, su último día y cuántos días dura, en ese orden. La que va del 9 al 12 de enero dura 4, y da igual que el 12 entraran dos pedidos: es un solo día.
La racha más larga va arriba; entre dos igual de largas, la más antigua. Las fechas cuentan tal como están apuntadas: la del pedido del día 20 sigue sin corregir, y ese día hace una racha él solo.
Lo que tiene que devolver
Estas filas, en este orden
| inicio | fin | dias |
|---|---|---|
| 2026-01-09 | 2026-01-12 | 4 |
| 2026-01-03 | 2026-01-04 | 2 |
| 2026-01-14 | 2026-01-15 | 2 |
| 2026-01-20 | 2026-01-20 | 1 |
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 DISTINCT fecha
FROM pedidos
ORDER BY fechaSe 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(2ⁿ)
- Ni uno de más, ni uno de menosSQL · ventanas · operaciones
- ¿Quién me presta los apuntes?SQL · subconsultas · uniones · agrupar
- El de inviernosSQL · recursión · textos · ventanas
- El estante más vacíoSQL · ventanas · fechas · conjuntos
- El salario de en medioSQL · ventanas · agrupar
- El vale vence hoySQL · recursión · textos