Khám phá window frame
Bên cạnh các mệnh đề PARTITION BY và ORDER BY, window function có thể kèm theo các frame để cho máy chủ cơ sở dữ liệu biết phạm vi nào được tính là liên quan đến cửa sổ.
Tại đây, chúng ta sẽ xem bốn loại frame khác nhau để hiểu kết quả sẽ khác nhau ra sao. Với mỗi ví dụ, bạn hãy điền window frame cho truy vấn sau:
SELECT
ir.IncidentDate,
ir.IncidentTypeID,
SUM(ir.NumberOfIncidents) OVER (
PARTITION BY ir.IncidentTypeID
ORDER BY ir.IncidentDate
<< WINDOW FRAME >>
) AS NumberOfIncidents
FROM dbo.IncidentRollup ir;
Chúng ta sẽ chỉ định ROWS hoặc RANGE tùy theo việc muốn bao gồm từng hàng riêng lẻ hay một khoảng giá trị. Ta sẽ chỉ định mệnh đề "preceding", cho biết cần bao nhiêu hàng (hoặc khoảng giá trị nào) trước hàng hiện tại. Ta cũng sẽ chỉ định mệnh đề "following", cho biết phạm vi tính từ hàng hiện tại trở về sau.
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
Bài tập tương tác thực hành
Biến lý thuyết thành hành động với một trong các bài tập tương tác của chúng tôi
Bắt đầu bài tập