Mulai sekarangMulai gratis

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/atau LAG() sesuai kebutuhan Anda

Latihan ini merupakan bagian dari kursus

SQL Server Menengah

Lihat Kursus

Instruksi latihan

  • Tulis kueri T-SQL yang untuk setiap wilayah:
    • Menggeser nilai pada OrderDate satu baris ke bawah. Beri nama kolom ini PreviousOrder.
    • Menggeser nilai pada OrderDate satu baris ke atas. Beri nama kolom ini NextOrder. Anda perlu melakukan PARTITION BY berdasarkan wilayah

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
Edit dan Jalankan Kode