Bắt đầu ngayBắt đầu miễn phí

Xem các giai đoạn trước và sau

Các hàm cửa sổ LAG()LEAD() cho phép bạn lần lượt nhìn lùi hoặc tiến theo thời gian. Nhờ đó, bạn có thể so sánh dữ liệu theo từng giai đoạn ngay trong một truy vấn đơn giản.

Trong bài tập này, bạn sẽ so sánh số sự cố an ninh theo ngày cho các loại sự cố 1 và 2 trong tháng 7 năm 2019, cụ thể là giai đoạn từ ngày 2/7 đến hết ngày 31/7.

Bài tập này là một phần của khóa học

Phân tích chuỗi thời gian trong SQL Server

Xem khóa học

Hướng dẫn bài tập

  • Điền hàm cửa sổ để trả về số sự cố của ngày hôm trước, được partition theo ID loại sự cố và sắp xếp theo ngày xảy ra sự cố.
  • Điền hàm cửa sổ để trả về số sự cố của ngày hôm sau, được partition theo ID loại sự cố và sắp xếp theo ngày xảy ra sự cố.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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;
Chỉnh sửa và Chạy Mã