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/neboLAG()podle potřeby
Toto cvičení je součástí kurzu
Intermediate SQL Server
Pokyny k cvičení
- Napiš T-SQL dotaz, který pro každé území:
- Posune hodnoty ve sloupci
OrderDateo jeden řádek dolů. Tento sloupec pojmenujPreviousOrder. - Posune hodnoty ve sloupci
OrderDateo jeden řádek nahoru. Tento sloupec pojmenujNextOrder. Nezapomeň použít PARTITION BY pro rozdělení dat podle území.
- Posune hodnoty ve sloupci
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