Saltar al contenido

De cada 100 de nómina

Enunciado

La dirección quiere ver cuánta nómina se concentra arriba. De cada 100 que la empresa paga en salarios, ¿cuántos se lleva cada persona? ¿Y cuántos se llevan, entre todos, quienes ganan lo mismo que ella o más?

Muestra el nombre, el salario, su parte de la nómina de toda la empresa y la parte que suman quienes ganan ese salario o más, con ella dentro, en ese orden. Las dos partes van en porcentaje, redondeadas a 1 decimal. Dos personas con el mismo salario llevan los mismos números. Carmen no tiene departamento, pero cobra: su salario cuenta.

Ordena del salario más alto al más bajo y, entre iguales, por nombre.

Lo que tiene que devolver

Estas filas, en este orden

nombresalarioparteacumulada
Carmen520018.518.5
Paula410014.633.1
Marco380013.546.6
Lidia300010.768
Samuel300010.768
Fabio26009.377.2
Greta24008.585.8
Nadia21007.593.2
Rita19006.8100

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 nombre, salario,
  SUM(salario) OVER () AS total
FROM empleados
ORDER BY salario DESC, nombre;
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 →