De cada 100 de nómina
- O(n²) · Muy difícil
- Plan completo
- SQL
- ventanas
- decimales
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
| nombre | salario | parte | acumulada |
|---|---|---|---|
| Carmen | 5200 | 18.5 | 18.5 |
| Paula | 4100 | 14.6 | 33.1 |
| Marco | 3800 | 13.5 | 46.6 |
| Lidia | 3000 | 10.7 | 68 |
| Samuel | 3000 | 10.7 | 68 |
| Fabio | 2600 | 9.3 | 77.2 |
| Greta | 2400 | 8.5 | 85.8 |
| Nadia | 2100 | 7.5 | 93.2 |
| Rita | 1900 | 6.8 | 100 |
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;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²)
- El escalón de arribaSQL · ventanas · subconsultas
- El primero con el últimoSQL · ventanas · uniones · agrupar
- El tercer selloSQL · ventanas · uniones · fechas
- Empezar por abajoSQL · modificar datos · subconsultas
- Empezaste con un TecladoSQL · ventanas · uniones
- Enero fuera de casaSQL · fechas · nulos · agrupar