ComenzarEmpieza gratis

Clasificación de atletas de varios países

En el ejercicio anterior, has utilizado RANK para asignar clasificaciones a un grupo de deportistas. Sin embargo, en los datos del mundo real, a menudo encontrarás numerosos grupos dentro de tus datos. Si no divides los datos, los valores de un grupo influirán en la clasificación de los demás.

Además, mientras que RANK omite números en caso de valores idénticos, la forma más natural de asignar clasificaciones es no omitir números. Si dos países están empatados en el segundo puesto, la mayoría de la gente considera que el país que les sigue es el tercero.

Este ejercicio forma parte del curso

Estadísticas de resumen y funciones de ventana de PostgreSQL

Ver curso

Instrucciones de ejercicio

  • Clasifica a los atletas de cada país por el número de medallas que han ganado -cuanto mayor sea el número, mayor será la clasificación- sin omitir números en caso de valores idénticos.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

WITH Athlete_Medals AS (
  SELECT
    Country, Athlete, COUNT(*) AS Medals
  FROM Summer_Medals
  WHERE
    Country IN ('JPN', 'KOR')
    AND Year >= 2000
  GROUP BY Country, Athlete
  HAVING COUNT(*) > 1)

SELECT
  Country,
  -- Rank athletes in each country by the medals they've won
  ___,
  ___ OVER (PARTITION BY ___
                ORDER BY Medals DESC) AS Rank_N
FROM Athlete_Medals
ORDER BY Country ASC, RANK_N ASC;
Editar y ejecutar código