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

Tổng lũy kế với SUM()

Một trong những cách dùng mạnh mẽ của window function là tính tổng lũy kế: phép cộng dồn liên tục của một giá trị trong một khoảng thời gian. Ở đây, bạn sẽ dùng window function để tính số sự cố xảy ra theo từng ngày và từng loại sự cố trong tháng 7 năm 2019, đồng thời tính cả số lượng lũy kế của tổng số sự cố theo từng loại. Window function sẽ giúp bạn giải bài toán này chỉ với một truy vấn.

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 đúng window function.
  • Điền mệnh đề PARTITION BY trong window function, phân vùng theo ID loại sự cố.
  • Điền mệnh đề ORDER BY trong window function, sắp xếp theo ngày sự cố (theo mặc định là tăng dần).

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,
	ir.NumberOfIncidents,
    -- Get the total number of incidents
	___(ir.NumberOfIncidents) OVER (
      	-- Do this for each incident type ID
		PARTITION BY ir.___
      	-- Sort by the incident date
		ORDER BY ir.___
	) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
	INNER JOIN dbo.Calendar c
		ON ir.IncidentDate = c.Date
WHERE
	c.CalendarYear = 2019
	AND c.CalendarMonth = 7
	AND ir.IncidentTypeID IN (1, 2)
ORDER BY
	ir.IncidentTypeID,
	ir.IncidentDate;
Chỉnh sửa và Chạy Mã