Saltar al contenido

El primero con el último

Enunciado

La tutora arma parejas de estudio con la lista de promedios en la mano: quien tiene el más alto se sienta con quien tiene el más bajo, el segundo con el penúltimo, y así hacia el centro de la lista.

El promedio de cada quien es el de sus notas ya puestas. Una nota pendiente no cuenta, y quien no tiene ninguna nota puesta no entra en el reparto. Lucas y Emma tienen el mismo promedio: entre dos iguales va antes en la lista quien va antes por orden alfabético.

Muestra una fila por pareja, con el nombre de quien va más arriba en la lista y el de su compañero, en ese orden y por orden alfabético del primer nombre. Si la lista es impar, quien queda en el centro no tiene con quién sentarse: sale en su propia fila, con la segunda casilla vacía.

Lo que tiene que devolver

Estas filas, en este orden

nombrepareja
EmmaLucas
HugoJulia
MartinaLeo

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 e.nombre,
  AVG(n.nota) AS promedio
FROM notas n
JOIN estudiantes e
  ON n.estudiante_id = e.id
GROUP BY e.id, e.nombre
ORDER BY promedio DESC
Resolver este reto

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²)

Ver todos los retos →