Xem các giai đoạn trước và sau
Các hàm cửa sổ LAG() và 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
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;