Pasillo por pasillo
- O(n) · Media
- Plan completo
- SQL
- agrupar
- condicionales
Enunciado
El dueño va a recorrer la tienda con la hoja de reposición en la mano, y quiere saber qué le espera en cada pasillo: cuántos productos tiene cada categoría y cuántos de ellos están agotados, con el stock en 0.
Muestra la categoría, cuántos productos tiene y cuántos están agotados, en ese orden. En la hoja van todas las categorías: la que lo tiene todo en su sitio no se queda fuera, lleva un 0.
Una pista: si cada producto llevara al lado un 1 cuando está agotado y un 0 cuando no, solo faltaría sumarlos.
Lo que tiene que devolver
Estas filas, en cualquier orden
| categoria | cuantos | agotados |
|---|---|---|
| Accesorios | 3 | 1 |
| Audio | 2 | 1 |
| Equipos | 2 | 0 |
| Pantallas | 1 | 0 |
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 categoria,
COUNT(*) AS cuantos
FROM productos
GROUP BY categoria;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)
- Promedios que ya dicen algoSQL · agrupar · uniones
- Sillas para la reuniónSQL · agrupar · uniones · ordenar
- Un 10 de dos créditosSQL · agrupar · uniones · decimales
- ¿De dónde nos piden?SQL · agrupar · uniones · nulos
- ¿De dónde son los libros?SQL · agrupar · uniones · ordenar
- ¿Para cuántas nóminas alcanza?SQL · agrupar · uniones · decimales