Önceki ve sonraki değerler
Peki bir sütundaki değerleri bir satır yukarı veya aşağı kaydırmak istersen? Bir önceki egzersizdeki adımların aynısını kullanabilirsin, ancak iki yeni işleve ihtiyacın var: sonraki değer için LEAD(), önceki değer için LAG(). Yani şu adımları izleyeceksin:
- Önce partition'ları oluştur
- Sonra belirli bir sütuna göre sırala
- Son olarak ihtiyacına göre
LEAD()ve/veyaLAG()fonksiyonlarını kullan
Bu egzersiz
Orta Düzey SQL Server
kursunun bir parçasıdırEgzersiz talimatları
- Her bölge (territory) için şu T-SQL sorgusunu yaz:
OrderDatedeğerlerini bir satır aşağı kaydır. Bu sütunaPreviousOrderadını ver.OrderDatedeğerlerini bir satır yukarı kaydır. Bu sütunaNextOrderadını ver. Bölgeye göre PARTITION BY kullanman gerekecek
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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