Sillas para la reunión
- O(n) · Media
- Plan completo
- SQL
- agrupar
- uniones
- ordenar
Enunciado
Hay reunión de familias, y cada profesor recibe en su salón a las de sus estudiantes. Pone una silla por estudiante y entrega una boleta por cada curso que ese estudiante lleva con él: a la familia de quien lleva sus dos cursos le toca una silla y dos boletas.
De cada profesor con estudiantes inscritos, muestra su nombre, cuántas sillas pone y cuántas boletas entrega, en ese orden. Con estar inscrito basta: la boleta de una nota pendiente se entrega con la casilla en blanco.
Primero quien pone más sillas; si dos empatan, por orden alfabético.
Lo que tiene que devolver
Estas filas, en este orden
| profesor | sillas | boletas |
|---|---|---|
| Rosa | 6 | 9 |
| Pablo | 3 | 3 |
| Irene | 2 | 2 |
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 c.profesor, n.estudiante_id
FROM notas n
JOIN cursos c
ON n.curso_id = c.idSe 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)
- 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
- ¿Quién debe notas?SQL · agrupar · uniones · nulos
- Donde hay más de unoSQL · agrupar · nulos