You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为奥运累计奖牌表补全所有国家各届的奖牌记录

我正尝试创建一张表统计奥运会各参赛国的所有奖牌获得情况。

我从维基百科*爬虫获取(scraped)*了数据,基础格式如下:

YearCountry_NameHost_cityHost_CountryGoldSilverBronze
1986146Los AngelesUnited States413230
198667Los AngelesUnited States121212

后续还有更多同格式数据。
我已经核验了部分年份的数据,准确性符合要求。注意这里的Country_Name字段实际存储的是国家ID,我另外单独建了Country_ID表来做ID和国家名称的映射,表结构如下:

Country_IDCountry_Name
19861
19862

目前进展还算顺利。我现在需要创建一张新表,存储每届奥运会所有国家的累计奖牌数。现在已经实现了参赛国的数据写入,这里给个1896年奥运会的实现示例:

INSERT INTO Cumultative_Medals_by_Year(Country_ID, Year, Culmutative_Gold, Culmutative_Silver, Culmutative_Bronze, Total_Medals)
SELECT  a.Country_Name, a.Year, SUM(a.Gold) As Cumultative_Gold, SUM(a.Silver) As Cumultative_Silver, SUM(a.Bronze) As Cumultative_Bronze, SUM(a.Gold) + SUM(a.Silver) + SUM(a.Bronze) AS Total_Medals
FROM Country_Medals a
Where a.Year >= 1896 AND Year < 1900
Group By a.Country_Name, a.Year

执行后得到的表结构如下:

Country_IDYearCumultative_GoldCumultative_SilverCumultative_BronzeTotal_Medals
619862005
719862125
3519861236
46198654211
49198665213
5119862327
52198610181947
5819862136
8519861012
13119861203
1461986117220

如果要添加其他届次的数据,只需要修改WHERE条件的时间范围即可,比如添加1900届数据的条件为Where a.Year >= 1900 AND Year < 1904,对应SQL如下:

INSERT INTO Cumultative_Medals_by_Year(Country_ID, Year, Culmutative_Gold, Culmutative_Silver, Culmutative_Bronze, Total_Medals)
SELECT  a.Country_Name, a.Year, SUM(a.Gold) As Cumultative_Gold, SUM(a.Silver) As Cumultative_Silver, SUM(a.Bronze) As Cumultative_Bronze, SUM(a.Gold) + SUM(a.Silver) + SUM(a.Bronze) AS Total_Medals
FROM Country_Medals a
Where a.Year >= 1900 AND Year < 1904
Group By a.Country_Name, a.Year

这样表中的数据就会逐步累加。

但我现在还需要给1896年这一届补充所有未参赛国家的记录,拿到所有国家的全量数据。比如国家1在1896年奥运会没有获得任何奖牌,我也需要把对应的记录写入表中,哪怕求和结果是NULL也没关系,后续我会把NULL统一更新为0。
我做这个的需求背景是要制作动画条形竞速图(Animated Bar Chart Race),现有数据会导致部分国家的条形在图表中消失:比如美国未参加1980年奥运会,它的条形就会在1980年的节点消失,直到1984年参赛才会重新出现;再比如苏联,它的奖牌总数位列全球第二,仅次于美国,但1988年后不再参赛,它的条形就会在1988年节点后彻底消失。如果每届奥运会都保留所有国家的奖牌记录,就能避免这个问题。

内容的提问来源于stack exchange,提问作者Ramon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:06:03