Saltar al contenido

El salario de en medio

Enunciado

En Ventas el salario promedio es 2600, y dos de sus tres personas ganan bastante menos: lo sube Marco, que es el gerente. Recursos humanos quiere un número que un solo salario alto no mueva, la mediana. Se ponen en fila los salarios del departamento, de menor a mayor, y se toma el del centro; si son un número par no hay centro, y se promedian los dos de en medio. Muestra el nombre de cada departamento y la mediana de sus salarios, en ese orden. La de Ventas es 2100. Un departamento sin nadie no sale, y Carmen, que no tiene departamento, no entra en ninguna fila.

Ordena de la mediana más alta a la más baja; si dos empatan, por el nombre del departamento.

Lo que tiene que devolver

Estas filas, en este orden

nombremediana
Sistemas3000
Marca2400
Ventas2100

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 depto_id, nombre, salario
FROM empleados
WHERE depto_id IS NOT NULL
ORDER BY depto_id, salario
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(2ⁿ)

Ver todos los retos →