1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích chuỗi thời gian trong SQL Server

Connected

Bài tập

Tính median trong SQL Server

SQL Server không có hàm MEDIAN(). Gần nhất là PERCENTILE_CONT(), hàm này tìm giá trị tại phân vị thứ n của một tập dữ liệu.

Chúng ta muốn xem median lệch bao nhiêu so với mean theo từng loại sự cố trong tập rollup sự cố. Để làm vậy, ta có thể so sánh hàm AVG() từ bài trước với PERCENTILE_CONT(). Đây là các window function, chúng ta sẽ học chi tiết hơn ở chương 4. Trước mắt, cần biết rằng PERCENTILE_CONT() nhận một tham số là percentile (một số thập phân từ 0 đến 1). Percentile phải nằm trong một nhóm có thứ tự bên trong mệnh đề WITHIN GROUP và OVER một phạm vi nhất định nếu bạn cần partition dữ liệu. Trong phần WITHIN GROUP, chúng ta cần sắp xếp theo cột mà ta muốn lấy phân vị thứ 50.

Hướng dẫn

100 XP
  • Điền giá trị còn thiếu cho PERCENTILE_CONT().
  • Bên trong mệnh đề WITHIN GROUP(), sắp xếp theo số lượng sự cố giảm dần.
  • Trong mệnh đề OVER(), partition theo IncidentType (giá trị văn bản thực tế, không phải ID).