Un estudiante, un voto
- O(n log n) · Difícil
- Plan completo
- SQL
- subconsultas
- agrupar
Enunciado
A la coordinadora no le convence el promedio de cada grado. Juntando todas las notas de tercero sale 7.1, pero en esa cuenta Martina, que tiene tres notas, pesa más que Leo, que tiene dos. Ella lo quiere de otra forma: primero el promedio de cada estudiante y después el promedio de esos promedios, para que cada estudiante pese lo mismo. Así, tercero se queda en 6.79.
Muestra el grado y ese promedio, redondeado a 2 decimales, en ese orden. Se redondea solo al final: el promedio de cada estudiante entra en la cuenta con todos sus decimales.
Una nota pendiente no entra en el promedio de nadie. Y quien no tiene ninguna nota puesta no tiene promedio: no es un cero, y no entra en el de su grado.
Lo que tiene que devolver
Estas filas, en cualquier orden
| grado | del_grado |
|---|---|
| 1 | 7.75 |
| 2 | 7.42 |
| 3 | 6.79 |
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 estudiante_id,
AVG(nota) AS promedio
FROM notas
GROUP BY estudiante_id;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 log n)
- Vecinos sin saberloSQL · uniones · nulos
- ¿Qué me puedo llevar?SQL · subconsultas · nulos · uniones
- Baja, media y altaSQL · agrupar · condicionales · ordenar
- Cabos sueltosSQL · conjuntos · subconsultas · nulos
- Caras nuevasSQL · subconsultas · agrupar · uniones
- Con las manos vacíasSQL · subconsultas · nulos · agrupar