1. Learn
  2. /
  3. 课程
  4. /
  5. Raportare în SQL

Connected

道练习

Cel mai medaliat atlet per regiune

Scopul acestui exercițiu este să afișezi cel mai medaliat atlet per regiune. Pentru a configura acest raport, vei folosi funcția de fereastră ROW_NUMBER(), care numerotează fiecare rând ca un număr întreg incremental, unde primul rând este 1, al doilea este 2 și așa mai departe.

Sintaxa pentru această funcție de fereastră este ROW_NUMBER() OVER (PARTITION BY field ORDER BY field). Observă că nu există niciun argument în interiorul funcției inițiale.

Atunci când este configurată corect, un row_num = 1 reprezintă cel mai medaliat atlet din acea regiune. Dacă mai mulți atleți au același total, oricare dintre atleții la egalitate poate apărea ca prim rezultat. Reține că nu poți folosi un calcul de fereastră într-o instrucțiune HAVING sau WHERE, prin urmare va trebui să folosești o subinterogare pentru filtrare.

Poți consulta Diagrama E:R. Vom folosi summer_games_clean pentru a evita gestionarea valorilor nule.

说明 1 / 共 2 个

undefined XP
    1
    2
  • Construiește o interogare care extrage region, athlete_name și total_golds prin unirea tabelelor summer_games_clean, athletes și countries.
  • Adaugă un câmp numit row_num care folosește ROW_NUMBER() pentru a atribui un rang regional fiecărui atlet în funcție de totalul medaliilor de aur câștigate.