ПочатиПочніть безкоштовно

Попередні та наступні значення

А що, якщо потрібно зсунути значення у стовпці на один рядок угору або вниз? Ви можете виконати ті самі кроки, що й у попередній вправі, але з двома новими функціями: LEAD() — для наступного значення, та LAG() — для попереднього. Отже, виконайте такі кроки:

  • Спочатку створіть розподіли
  • Далі впорядкуйте за певним стовпцем
  • Нарешті, використайте функції LEAD() та/або LAG() відповідно до вашої задачі

Ця вправа є частиною курсу

Середній рівень SQL Server

Переглянути курс

Інструкції до вправи

  • Напишіть запит T-SQL, який для кожної території:
    • Зсуває значення в OrderDate на один рядок униз. Назвіть цей стовпець PreviousOrder.
    • Зсуває значення в OrderDate на один рядок угору. Назвіть цей стовпець NextOrder. Вам потрібно виконати PARTITION BY за територією

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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
Редагувати та запускати код