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/oLAG()
según tus necesidades
Este ejercicio forma parte del curso
Intermedio SQL Servidor
Instrucciones del ejercicio
Escribe una consulta T-SQL que para cada territorio:
Desplaza los valores de
OrderDate
una fila hacia abajo. Llama a esta columnaPreviousOrder
.Desplaza los valores de
OrderDate
una fila hacia arriba. Llama a esta columnaNextOrder
.
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