1. 学ぶ
  2. /
  3. コース
  4. /
  5. Lập báo cáo trong SQL

Connected

演習

So sánh theo từng tháng

Để so sánh giữa các tháng, bạn cần dùng một trong các window function sau:

  • LAG(value, offset), trả về một giá trị tại số dòng offset trước dòng hiện tại trong báo cáo.
  • LEAD(value, offset), trả về một giá trị tại số dòng offset sau dòng hiện tại trong báo cáo.

Mục tiêu của bạn là xây dựng một báo cáo hiển thị lượt xem theo từng tháng cho mỗi quốc gia. Một vài mẹo:

  • Bạn sẽ cần gom nhóm ngày theo tháng. Để làm điều này, bạn có thể dùng hàm DATE_PART().
  • Bạn có thể tính tỷ lệ thay đổi bằng công thức: (value)/(previous_value) - 1.
  • Nếu không truyền giá trị offset vào các hàm LAG() hoặc LEAD(), mặc định sẽ là 1.

Vì bảng dữ liệu dừng giữa tháng 6, truy vấn được thiết lập chỉ bao gồm dữ liệu đến hết tháng 5.

指示

100 XP
  • Từ web_data, truy xuất country_id và dùng hàm DATE_PART() để tạo month.
  • Tạo month_views để lấy tổng lượt xem trong tháng.
  • Tạo previous_month_views để lấy tổng lượt xem của tháng trước cho quốc gia tương ứng.
  • Tạo trường perc_change để tính tỷ lệ thay đổi của tháng này so với tháng trước cho quốc gia đó, trong đó giá trị âm thể hiện lượt xem giảm và giá trị dương thể hiện tăng trưởng.