BaşlayınÜcretsiz Başlayın

Bölge başına en çok madalya alan sporcu

Bu egzersizdeki hedefin, her bir bölge için en çok madalya alan sporcuyu göstermek. Bu raporu kurmak için, her satırı artan bir tam sayıyla numaralandıran ROW_NUMBER() window fonksiyonundan yararlanman gerekiyor; ilk satır 1, ikinci satır 2 şeklinde devam eder.

Bu window fonksiyonunun söz dizimi ROW_NUMBER() OVER (PARTITION BY field ORDER BY field) şeklindedir. İlk fonksiyonun içinde herhangi bir argüman olmadığını fark et.

Doğru kurulduğunda, row_num = 1 o bölgedeki en çok madalya alan sporcuyu temsil eder. Birden fazla sporcunun toplamı aynıysa, bu sporculardan herhangi biri en üst sonuç olarak görünebilir. Bir window hesaplamasını HAVING veya WHERE ifadesi içinde kullanamayacağını unutma; filtrelemek için bir alt sorgu kullanman gerekecek.

E:R Diagramı referans alabilirsin. Null işlemeden kaçınmak için summer_games_clean kullanacağız.

Bu egzersiz

SQL ile Raporlama

kursunun bir parçasıdır
Kursu Görüntüle

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

SELECT 
	-- Query region, athlete_name, and total gold medals
	____, 
    ____ AS athlete_name, 
    ____ AS total_golds,
    -- Assign a regional rank to each athlete
    ____ AS row_num
FROM ____ AS s
JOIN ____ AS a
ON ____
JOIN ____ AS c
ON ____
GROUP BY ____;
Kodu Düzenle ve Çalıştır