0% found this document useful (0 votes)
39 views6 pages

Olympic History

Olympic history

Uploaded by

ar7439018
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views6 pages

Olympic History

Olympic history

Uploaded by

ar7439018
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

OLYMPIC HISTORY-

ANALYSIS
BY- AZAM NAQVI

The Brief
There are two datasets files.The data contains 120 years of Olympics history.

Athletes: It has information about all the players participated in Olympics.


Athlete_events: It has information about all the players happened over the year.(athlete id refers
to the id column in athlete table).

The Process
Our Approach:-
Import these datasets in MySQL platform and solve below problems:

Which team has won the maximum gold medals over the years.

SOLUTION : 1

A P P R O A C H

SELECT TEAM,COUNT(DISTINCT EVENT) AS CNT FROM ATHLETE_EVENTS AE


INNER JOIN ATHLETES A ON AE.ATHLETE_ID = A.ID
WHERE MEDAL='GOLD'
GROUP BY TEAM
ORDER BY CNT DESC
LIMIT 1;

O U T P U T

For each team print total silver medals and year in which they won maximum silver
medal..output 3 columns team,total_silver_medals, year_of_max_s.

SOLUTION : 2
A P P R O A C H

WITH CTE AS (
SELECT A.TEAM,AE.YEAR , COUNT(DISTINCT EVENT) AS SILVER_MEDALS
,RANK() OVER(PARTITION BY TEAM ORDER BY COUNT(DISTINCT EVENT) DESC) AS RN
FROM ATHLETE_EVENTS AE
INNER JOIN ATHLETES A ON AE.ATHLETE_ID=A.ID
WHERE MEDAL='SILVER'
GROUP BY A.TEAM,AE.YEAR)
SELECT TEAM,SUM(SILVER_MEDALS) AS TOTAL_SILVER_MEDALS, MAX(CASE WHEN RN=1 THEN YEAR END) AS
YEAR_OF_MAX_SILVER
FROM CTE
O U T P U T GROUP BY TEAM;
Which player has won maximum gold medals amongst the players which have won only gold
medal (never won silver or bronze) over the years.

SOLUTION : 3
A P P R O A C H

WITH CTE AS (
SELECT NAME,MEDAL
FROM ATHLETE_EVENTS AE
INNER JOIN ATHLETES A ON AE.ATHLETE_ID=A.ID)
SELECT NAME , COUNT(1) AS NO_OF_GOLD_MEDALS
FROM CTE
WHERE NAME NOT IN (SELECT DISTINCT NAME FROM CTE WHERE MEDAL IN ('SILVER','BRONZE'))
AND MEDAL='GOLD'
GROUP BY NAME
ORDER BY NO_OF_GOLD_MEDALS DESC
LIMIT 1;

O U T P U T

In each year which player has won maximum gold medal. Write a query to print year,player
name and no of golds won in that year. In case of a tie print comma separated player names.

SOLUTION : 4

A P P R O A C H
WITH CTE AS (
SELECT AE.YEAR,A.NAME,COUNT(1) AS NO_OF_GOLD
FROM ATHLETE_EVENTS AE
INNER JOIN ATHLETES A ON AE.ATHLETE_ID=A.ID
WHERE MEDAL='GOLD'
GROUP BY AE.YEAR,A.NAME)
SELECT YEAR,NO_OF_GOLD, CONCAT(NAME,',') AS PLAYERS FROM (
SELECT *,
RANK() OVER(PARTITION BY YEAR ORDER BY NO_OF_GOLD DESC) AS RN
O U T P U T
FROM CTE) A WHERE RN=1
GROUP BY YEAR,NO_OF_GOLD
;

In which event and year India has won its first gold medal,first silver medal and first bronze
medal print 3 columns - medal, year, event.
SOLUTION : 5

A P P R O A C H : 1 A P P R O A C H : 2
SELECT DISTINCT * FROM ( WITH CTE1 AS
SELECT MEDAL,YEAR,EVENT,RANK() OVER(PARTITION BY MEDAL ORDER BY YEAR) (
SELECT AE.MEDAL, AE.YEAR, AE.EVENT,
RN
DENSE_RANK() OVER(PARTITION BY AE.MEDAL ORDER BY AE.YEAR) AS
FROM ATHLETE_EVENTS AE
DRNK
INNER JOIN ATHLETES A ON AE.ATHLETE_ID=A.ID FROM ATHLETE_EVENTS AE
WHERE TEAM='INDIA' AND MEDAL != 'NA' INNER JOIN ATHLETES A ON AE.ATHLETE_ID=A.ID
) A WHERE TEAM='INDIA' AND MEDAL != 'NA'
WHERE RN=1; )
SELECT DISTINCT * FROM CTE1
WHERE DRNK = 1;

O U T P U T

Find players who won gold medal in summer and winter Olympics both.

SOLUTION : 6

A P P R O A C H : 2
A P P R O A C H : 1
SELECT A.NAME,
SELECT A.NAME
SUM(CASE WHEN AE.SEASON = 'SUMMER' THEN 1 ELSE 0 END ) AS TOT_SUMMER_GOLD_MEDALS,
FROM ATHLETE_EVENTS AE SUM(CASE WHEN AE.SEASON = 'WINTER' THEN 1 ELSE 0 END ) AS TOT_WINTER_GOLD_MEDALS
INNER JOIN ATHLETES A ON AE.ATHLETE_ID=A.ID FROM ATHLETE_EVENTS AE
WHERE MEDAL='GOLD' INNER JOIN ATHLETES A ON AE.ATHLETE_ID=A.ID
GROUP BY A.NAME HAVING COUNT(DISTINCT SEASON) = 2 WHERE AE.MEDAL = 'GOLD'

O U T P U T

Find players who won gold, silver and bronze medal in a single Olympics. Print player name
along with year.
SOLUTION : 7

A P P R O A C H : 2
A P P R O A C H : 1 SELECT A.NAME, AE.YEAR
SELECT YEAR,NAME FROM ATHLETE_EVENTS AE INNER JOIN
FROM ATHLETE_EVENTS AE ATHLETES A ON AE.ATHLETE_ID = A.ID
INNER JOIN ATHLETES A ON AE.ATHLETE_ID=A.ID WHERE AE.MEDAL IN ("GOLD", "SILVER", "BRONZE")
WHERE MEDAL != 'NA' GROUP BY 1,2
GROUP BY YEAR,NAME HAVING COUNT(DISTINCT MEDAL) = 3 HAVING COUNT(DISTINCT AE.MEDAL) = 3;

O U T P U T

Find players who have won gold medals in consecutive 3 summer Olympics in the same event.
Consider only Olympics 2000 onward. Assume summer Olympics happens every 4 year
starting 2000. print player name and event name.

SOLUTION : 8
A P P R O A C H

WITH CTE AS (
SELECT NAME,YEAR,EVENT
FROM ATHLETE_EVENTS AE
INNER JOIN ATHLETES A ON AE.ATHLETE_ID=A.ID
WHERE YEAR >=2000 AND SEASON='SUMMER'AND MEDAL = 'GOLD'
GROUP BY NAME,YEAR,EVENT)
SELECT * FROM
(SELECT *, LAG(YEAR,1) OVER(PARTITION BY NAME,EVENT ORDER BY YEAR ) AS PREV_YEAR
, LEAD(YEAR,1) OVER(PARTITION BY NAME,EVENT ORDER BY YEAR ) AS NEXT_YEAR
FROM CTE) A
WHERE YEAR=PREV_YEAR+4 AND YEAR=NEXT_YEAR-4;

O U T P U T

The Results
The project demonstrated the power of SQL in efficiently querying and analyzing large datasets,
enabling participants to derive valuable information from complex Olympic data.

Insights gained from the project can inform future decisions related to athlete selection, event
planning, and the overall organization of the Olympic Games. The ability to customize queries
encourages participants to think critically and creatively about the data, paving the way for
further exploration and discovery.

conclusion
In conclusion, the SQL Olympics Database project has not only honed participants' SQL skills but has
also provided valuable insights into the rich and dynamic world of Olympic sports. The project serves
as a foundation for continued exploration and analysis, contributing to a deeper understanding of the
factors that shape the success and spectacle of the Olympic Games.

You might also like