ComenzarEmpieza gratis

Valores anterior y siguiente

¿Y si quieres desplazar los valores de una columna una fila hacia arriba o hacia abajo? Puedes utilizar exactamente los mismos pasos que en el ejercicio anterior, pero con dos nuevas funciones, LEAD(), para el valor siguiente, y LAG(), para el valor anterior. Así que sigue estos pasos:

  • Primero, crea particiones
  • A continuación, ordena por una columna determinada
  • Por último, utiliza las funciones LEAD() y/o LAG() según tus necesidades

Este ejercicio forma parte del curso

Intermedio SQL Servidor

Ver curso

Instrucciones del ejercicio

  • Escribe una consulta T-SQL que para cada territorio:

    • Desplaza los valores de OrderDate una fila hacia abajo. Llama a esta columna PreviousOrder.

    • Desplaza los valores de OrderDate una fila hacia arriba. Llama a esta columna NextOrder.

Necesitarás PARTITION BY el territorio

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

SELECT TerritoryName, OrderDate, 
       -- Specify the previous OrderDate in the window
       ___(OrderDate) 
       -- Over the window, partition by territory & order by order date
       ___(___ BY ___ ___ BY ___) AS PreviousOrder,
       -- Specify the next OrderDate in the window
       ___(OrderDate) 
       -- Create the partitions and arrange the rows
       ___ AS NextOrder
FROM Orders
Editar y ejecutar código