ComeçarComece de graça

Valores anteriores e seguintes

E se você quiser deslocar os valores em uma coluna em uma linha para cima ou para baixo? Você pode usar exatamente as mesmas etapas do exercício anterior, mas com duas novas funções, LEAD(), para o próximo valor, e LAG(), para o valor anterior. Portanto, você deve seguir estas etapas:

  • Primeiro, crie partições
  • Em seguida, ordene por uma determinada coluna
  • Por fim, use as funções LEAD() e/ou LAG() de acordo com suas necessidades

Este exercício faz parte do curso

Intermediário SQL Servidor

Ver curso

Instruções do exercício

  • Escreva uma consulta T-SQL para cada território:

    • Desloca os valores em OrderDate uma linha para baixo. Chame esta coluna de PreviousOrder.

    • Desloca os valores em OrderDate uma linha para cima. Chame esta coluna de NextOrder.

Você precisará PARTITION BY o território

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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 e executar o código