Mulai sekarangMulai gratis

Previous and next values

What if you want to shift the values in a column by one row up or down? You can use the exact same steps as in the previous exercise but with two new functions, LEAD(), for the next value, and LAG(), for the previous value. So you follow these steps:

  • First, create partitions
  • Then, order by a certain column
  • Finally, use the LEAD() and/or LAG() functions as per your requirement

Latihan ini merupakan bagian dari kursus

Intermediate SQL Server

Lihat Kursus

Instruksi latihan

  • Write a T-SQL query that for each territory:
    • Shifts the values in OrderDate one row down. Call this column PreviousOrder.
    • Shifts the values in OrderDate one row up. Call this column NextOrder. You will need to PARTITION BY the territory

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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
Edit dan Jalankan Kode