El escalón de arriba
- O(n²) · Muy difícil
- Plan completo
- SQL
- ventanas
- subconsultas
Enunciado
Recursos humanos publica la lista de salarios, y cada quien busca lo mismo: ¿cuánto me falta para alcanzar a los que ganan más que yo?
Muestra el nombre, el salario y lo que le falta a cada persona para llegar al salario que sigue por encima del suyo, en ese orden. Quien gana lo mismo que otra persona no la tiene por encima: a las dos les falta lo mismo. A quien gana más que nadie, la casilla le queda vacía.
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 | le_falta |
|---|---|---|
| Carmen | 5200 | NULL |
| Paula | 4100 | 1100 |
| Marco | 3800 | 300 |
| Lidia | 3000 | 800 |
| Samuel | 3000 | 800 |
| Fabio | 2600 | 400 |
| Greta | 2400 | 200 |
| Nadia | 2100 | 300 |
| Rita | 1900 | 200 |
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,
LAG(salario) OVER (
ORDER BY salario DESC, id
) AS arriba
FROM empleados;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 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
- Faro, ElSQL · textos · condicionales · ordenar