El salario de en medio
- O(2ⁿ) · Legendaria
- Plan completo
- SQL
- ventanas
- agrupar
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
| nombre | mediana |
|---|---|
| Sistemas | 3000 |
| Marca | 2400 |
| Ventas | 2100 |
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, salarioSe 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.