Nilai sebelumnya dan berikutnya
Bagaimana jika Anda ingin menggeser nilai dalam sebuah kolom satu baris ke atas atau ke bawah? Anda dapat menggunakan langkah yang sama persis seperti pada latihan sebelumnya tetapi dengan dua fungsi baru, LEAD() untuk nilai berikutnya, dan LAG() untuk nilai sebelumnya. Jadi, ikuti langkah-langkah berikut:
- Pertama, buat partisi
- Lalu, urutkan berdasarkan kolom tertentu
- Terakhir, gunakan fungsi
LEAD()dan/atauLAG()sesuai kebutuhan Anda
Latihan ini merupakan bagian dari kursus
SQL Server Menengah
Instruksi latihan
- Tulis kueri T-SQL yang untuk setiap wilayah:
- Menggeser nilai pada
OrderDatesatu baris ke bawah. Beri nama kolom iniPreviousOrder. - Menggeser nilai pada
OrderDatesatu baris ke atas. Beri nama kolom iniNextOrder. Anda perlu melakukan PARTITION BY berdasarkan wilayah
- Menggeser nilai pada
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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