ComeçarComece gratuitamente

Classificação de atletas de vários países

No exercício anterior, você usou o site RANK para atribuir classificações a um grupo de atletas. No entanto, nos dados do mundo real, você frequentemente encontrará vários grupos dentro dos dados. Sem particionar seus dados, os valores de um grupo influenciarão as classificações dos outros.

Além disso, embora o site RANK ignore números no caso de valores idênticos, a maneira mais natural de atribuir classificações é não ignorar números. Se dois países estiverem empatados em segundo lugar, o país depois deles é considerado o terceiro pela maioria das pessoas.

Este exercício faz parte do curso

PostgreSQL Estatísticas de resumo e funções de janela

Ver Curso

Instruções de exercício

  • Classifique os atletas de cada país de acordo com a quantidade de medalhas que ganharam - quanto maior a quantidade, maior a classificação - sem pular números no caso de valores idênticos.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

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 e executar código