IniziaInizia gratis

Valori precedente e successivo

E se volessi spostare i valori in una colonna di una riga verso l’alto o verso il basso? Puoi seguire gli stessi passaggi dell’esercizio precedente ma con due nuove funzioni: LEAD(), per il valore successivo, e LAG(), per il valore precedente. Quindi procedi così:

  • Per prima cosa, crea le partizioni
  • Poi ordina in base a una certa colonna
  • Infine, usa le funzioni LEAD() e/o LAG() in base a ciò di cui hai bisogno

Questo esercizio fa parte del corso

SQL Server intermedio

Visualizza il corso

Istruzioni dell'esercizio

  • Scrivi una query T-SQL che, per ogni territorio:
    • Sposti i valori in OrderDate di una riga in basso. Chiama questa colonna PreviousOrder.
    • Sposti i valori in OrderDate di una riga in alto. Chiama questa colonna NextOrder. Dovrai usare PARTITION BY sul territorio

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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
Modifica ed esegui il codice