Inizia subitoInizia 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 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 interattivo pratico

Prova questo esercizio completando questo 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