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

Trận đấu đã OVER

Mệnh đề OVER() cho phép bạn áp dụng một hàm tổng hợp trên toàn bộ tập dữ liệu, tương tự như các truy vấn con trong SELECT. Mệnh đề OVER() mang lại lợi ích đáng kể so với truy vấn con trong SELECT — cụ thể là truy vấn của bạn sẽ chạy nhanh hơn, và OVER() còn hỗ trợ nhiều hàm và mệnh đề bổ sung mà bạn có thể kết hợp, chúng ta sẽ tìm hiểu ở phần sau của chương này.

Trong bài tập này, bạn sẽ chỉnh sửa một số truy vấn từ các chương trước bằng cách sử dụng mệnh đề OVER().

Bài tập này là một phần của khóa học

Xử lý dữ liệu trong SQL

Xem khóa học

Hướng dẫn bài tập

  • Chọn ID của trận đấu, name của quốc gia, season, home_goal, và away_goal từ các bảng matchcountry.
  • Hoàn chỉnh truy vấn tính trung bình số bàn thắng ghi được trên toàn bộ dữ liệu và đưa giá trị tổng hợp đó vào mỗi hàng bằng một hàm cửa sổ (window).

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 
	-- Select the match id, country name, season, home, and away goals
	___, 
    c.___ AS country, 
    m.season,
	___.home_goal,
	___,
    -- Use a window to include the aggregate average in each row
	___(___.home_goal + ___) ___ AS overall_avg
FROM match AS m
LEFT JOIN country AS c ON m.country_id = c.id;
Chỉnh sửa và Chạy Mã