1. Uczyć się
  2. /
  3. Courses
  4. /
  5. Phân tích chuỗi thời gian trong SQL Server

Connected

Exercise

Tính các phép tổng hợp có lọc

Nếu bạn muốn đếm số lần xuất hiện của một sự kiện theo một tiêu chí lọc nào đó, bạn có thể tận dụng các hàm tổng hợp như SUM(), MIN(), và MAX(), cùng với biểu thức CASE. Ví dụ, SUM(CASE WHEN ir.IncidentTypeID = 1 THEN 1 ELSE 0 END) sẽ trả về số lượng sự cố thuộc loại sự cố 1. Nếu bạn thêm một câu lệnh SUM() cho mỗi loại sự cố, bạn đã xoay (pivot) tập dữ liệu theo ID loại sự cố.

Trong tình huống này, ban quản lý muốn bạn cho biết, theo từng loại sự cố, có bao nhiêu ngày "sự cố lớn" so với "sự cố nhỏ". Ban quản lý định nghĩa một ngày sự cố lớn là có hơn 5 lần xảy ra cùng một loại sự cố trong cùng một ngày, và một ngày sự cố nhỏ là từ 1 đến 5 lần.

Instrukcje

100 XP
  • Điền một biểu thức CASE để chúng ta có thể dùng hàm SUM() tính số ngày sự cố lớn và sự cố nhỏ.
  • Trong biểu thức CASE, bạn nên trả về 1 nếu thỏa điều kiện lọc phù hợp và 0 nếu không.
  • Nhớ chỉ định bí danh khi tham chiếu cột, như ir.IncidentDate hoặc it.IncidentType!