MulaiMulai sekarang secara gratis

Apa yang OVER di sini?

Window function memungkinkan Anda membuat RANK informasi berdasarkan variabel apa pun yang ingin Anda gunakan untuk mengurutkan data. Saat menyiapkannya, Anda perlu menentukan kolom/perhitungan yang ingin digunakan untuk menghitung peringkat. Ini dilakukan dengan menyertakan klausa ORDER BY di dalam klausa OVER(). Berikut contohnya:

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

Pada latihan ini, Anda akan membuat himpunan data pertandingan yang diberi peringkat berdasarkan liga mana yang, rata-rata, mencetak gol terbanyak dalam sebuah pertandingan.

Latihan ini adalah bagian dari kursus

Manipulasi Data di SQL

Lihat Kursus

Petunjuk latihan

  • SELECT nama liga dan rata-rata total gol yang dicetak dari league dan match.
  • Lengkapi window function sehingga menghitung RANK() dari rata-rata gol yang dicetak di seluruh liga dalam basis data.
  • Urutkan peringkat OVER rata-rata total gol kandang dan tandang yang dicetak.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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 ___;
Edit dan Jalankan Kode