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
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;