La gente de su gente
- O(2ⁿ) · Legendaria
- Plan completo
- SQL
- recursión
- agrupar
Enunciado
De Paula dependen tres personas, y con eso está dicho todo su equipo. Con Carmen no pasa lo mismo: de ella dependen tres, pero dos tienen gente a su cargo, y esa gente también es de Carmen. Recursos humanos quiere el equipo entero de cada jefe, hasta el último escalón, sean los que sean.
Muestra el nombre de cada persona que tiene a alguien por debajo, cuántas personas tiene por debajo en total y cuánto suman los salarios de todas ellas, en ese orden. El salario del jefe no entra en su propia suma. Ordena de quien tiene más gente a quien tiene menos; si dos empatan, por nombre.
Lo que tiene que devolver
Estas filas, en este orden
| nombre | personas | nomina |
|---|---|---|
| Carmen | 8 | 22900 |
| Paula | 3 | 8600 |
| Marco | 2 | 4000 |
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 j.nombre,
COUNT(*) AS personas
FROM empleados e
JOIN empleados j
ON e.jefe_id = j.id
GROUP BY j.id, j.nombreSe 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ⁿ)
- La tienda en rachaSQL · ventanas · fechas
- 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