Kom igångKom igång gratis

Föregående och nästa värden

Vad gör du om du vill förskjuta värdena i en kolumn ett steg upp eller ned? Du använder exakt samma tillvägagångssätt som i föregående övning, men med två nya funktioner: LEAD() för nästa värde och LAG() för föregående värde. Följ dessa steg:

  • Skapa först partitioner
  • Sortera sedan efter en viss kolumn
  • Använd slutligen funktionerna LEAD() och/eller LAG() efter behov

Den här övningen är en del av kursen

SQL Server för medelnivå

Visa kurs

Övningsinstruktioner

  • Skriv en T-SQL-fråga som för varje territorium:
    • Förskjuter värdena i OrderDate ett steg nedåt. Kalla kolumnen PreviousOrder.
    • Förskjuter värdena i OrderDate ett steg uppåt. Kalla kolumnen NextOrder. Du behöver använda PARTITION BY för territoriet

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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
Redigera och kör kod