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

BURADA OVER ne işe yarıyor?

Window fonksiyonları, verilerini hangi değişkene göre sıralamak istiyorsan ona göre bir bilgi RANK’i oluşturmanı sağlar. Bunu kurarken, sıralamayı (rank’i) hesaplamak için hangi sütunu/hesaplamayı kullanacağını belirtmen gerekir. Bu, OVER() ifadesinin içine bir ORDER BY yan tümcesi ekleyerek yapılır. Aşağıda bir örnek var:

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

Bu egzersizde, ortalama olarak bir maçta en fazla golün atıldığı liglere göre sıralanmış bir maç veri kümesi oluşturacaksın.

Bu egzersiz, kursun bir parçasıdır

SQL ile Veri İşleme

Kursa Göz Atın

Egzersiz talimatları

  • league ve match tablolarından lig adını ve atılan ortalama toplam golü SELECT et.
  • Window fonksiyonunu tamamla ki veritabanındaki tüm ligler arasında atılan ortalama gollerin RANK() değerini hesaplasın.
  • Sıralamayı, atılan ev sahibi ve deplasman gollerinin ortalama toplamı OVER olacak şekilde yap.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

SELECT 
	-- Select the league name and average goals scored
	___ AS league,
    ___(___ + ___.away_goal) AS avg_goals,
    -- Rank each league over the average goals
    ___ ___(___ ___ AVG(___.home_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
ORDER BY ___;
Kodu Düzenle ve Çalıştır