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

Lật ngược kết quả với OVER

Trong bài trước, thứ hạng được tạo trong truy vấn của bạn được sắp xếp từ nhỏ đến lớn. Bằng cách thêm DESC vào window function, bạn có thể tạo thứ hạng được sắp xếp từ lớn đến nhỏ.

SELECT 
    id,
    RANK() OVER(ORDER BY home_goal DESC) AS rank
FROM match;

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 name của league và tổng số bàn thắng trung bình ghi được từ leaguematch.
  • Hoàn thiện window function để xếp hạng từng league từ cao xuống thấp theo số bàn thắng trung bình.
  • ORDER truy vấn chính BY thứ hạng bạn vừa tạo.

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 league name and average goals scored
	___ AS league,
    ___(___ + m.away_goal) AS avg_goals,
    -- Rank leagues in descending order by average goals
    ___ ___(___ ___ ___(___ + m.away_goal) ___) AS league_rank
FROM league AS l
LEFT JOIN match AS m 
ON l.id = m.country_id
WHERE m.season = '2011/2012'
GROUP BY l.name
-- Order the query by the rank you created
___ ___ ___;
Chỉnh sửa và Chạy Mã