Mulai sekarangMulai gratis

Melihat periode sebelumnya dan berikutnya

Fungsi jendela LAG() dan LEAD() memungkinkan kita melihat ke belakang atau ke depan dalam waktu. Ini memberi kita kemampuan untuk membandingkan data antarperiode dalam satu kueri yang sederhana.

Dalam latihan ini, kita ingin membandingkan jumlah insiden keamanan per hari untuk tipe insiden 1 dan 2 selama Juli 2019, khususnya periode mulai 2 Juli hingga 31 Juli.

Latihan ini merupakan bagian dari kursus

Analisis Deret Waktu di SQL Server

Lihat Kursus

Instruksi latihan

  • Lengkapi fungsi jendela untuk mengembalikan jumlah insiden pada hari sebelumnya, dipartisi berdasarkan ID tipe insiden dan diurutkan menurut tanggal insiden.
  • Lengkapi fungsi jendela untuk mengembalikan jumlah insiden pada hari berikutnya, dipartisi berdasarkan ID tipe insiden dan diurutkan menurut tanggal insiden.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

SELECT
	ir.IncidentDate,
	ir.IncidentTypeID,
    -- Get the prior day's number of incidents
	___(ir.___, ___) OVER (
      	-- Partition by incident type ID
		PARTITION BY ir.___
      	-- Order by incident date
		ORDER BY ir.___
	) AS PriorDayIncidents,
	ir.NumberOfIncidents AS CurrentDayIncidents,
    -- Get the next day's number of incidents
	___(ir.___, ___) OVER (
      	-- Partition by incident type ID
		PARTITION BY ir.___
      	-- Order by incident date
		ORDER BY ir.___
	) AS NextDayIncidents
FROM dbo.IncidentRollup ir
WHERE
	ir.IncidentDate >= '2019-07-02'
	AND ir.IncidentDate <= '2019-07-31'
	AND ir.IncidentTypeID IN (1, 2)
ORDER BY
	ir.IncidentTypeID,
	ir.IncidentDate;
Edit dan Jalankan Kode