Začněte nyníZačněte zdarma

Předchozí a následující hodnoty

Co kdybys chtěl/a posunout hodnoty ve sloupci o jeden řádek nahoru nebo dolů? Postup je úplně stejný jako v předchozím cvičení, jen použiješ dvě nové funkce: LEAD() pro následující hodnotu a LAG() pro předchozí hodnotu. Celý postup vypadá takto:

  • Nejdřív vytvoř oddíly
  • Pak seřaď data podle zvoleného sloupce
  • Nakonec použij funkce LEAD() a/nebo LAG() podle potřeby

Toto cvičení je součástí kurzu

Intermediate SQL Server

Zobrazit kurz

Pokyny k cvičení

  • Napiš T-SQL dotaz, který pro každé území:
    • Posune hodnoty ve sloupci OrderDate o jeden řádek dolů. Tento sloupec pojmenuj PreviousOrder.
    • Posune hodnoty ve sloupci OrderDate o jeden řádek nahoru. Tento sloupec pojmenuj NextOrder. Nezapomeň použít PARTITION BY pro rozdělení dat podle území.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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
Upravit a spustit kód