使用SQL Server分析2020全国大学生数学竞赛河南赛区结果

目录


本次所使用的数据

链接:https://pan.baidu.com/s/1Dv3MdMWX2Zr58q96JcDhgQ 
提取码:zhk7 

背景

昨天,也就是2020年的最后一天,全国大学生数学竞赛河南赛区的结果终于发布,有人欢喜有人愁。元旦小假期,闲来无事,分析一下这次的结果,以及对河南的众多高校的结果进行对比与总结。

平台:SQL Server 2019 SSMS

语言:SQL

开始

1、原始文件

老师给的是一个**pdf**文件

​ 类似这样的:

要想导入的SQL Server中,必须转为**Excel**。所以我这里利用 Adobe Acrobat Pro DC 将其转换为Excel表格。转换后的格式如下:

注意:需要把Excel文件的第一行删除,也就是把“第十二届全国大学生数学竞赛河南赛区获奖名单”所在的那一行删除掉。

2、将Excel导入SQL Server。

右击数据库->Task->Import Data,然后选择导入的数据源为Excel,再选择刚刚转换的Excel表格,即可导入到SQL Server中。步骤如下:

3、查看导入的数据表

导入成功之后,刷新一个数据库。可以看到新导入的数据:

## 4、整理

这是你可能会发现,这表怎么多了一列 “F3” ?我也搞不清楚,导入之前Excel可是没有这一列的啊?不管了,等会删掉就行。

1)先重命名一下表的名字

我重命名为 “ Math-WinList"。

注意之后刷新一下数据库。

2)删除那一个多余的列。

alter table [Math-WinList] drop column F3

3)删除值为NULL的行

--删除值为 NULL的行
delete  from [Math-WinList]
where 序号 is NULL

删除之后的结果:

## 5、操作

1)按性别分组

select 
	性别,
	COUNT(*) as 获奖总数
from [Math-WinList]
group by 性别

结果:
在这里插入图片描述

2)按每个学校的获奖总人数排序。

select isnull(a.学校名称, b.学校名称) 学校名称,
    isnull(a.获奖总数, 0) 获奖总数,
    isnull(b.一等奖总数, 0) 一等奖总数
from (
        select 学校名称,
            COUNT(学校名称) as 获奖总数
        from [Math-WinList]
        group by 学校名称
    ) a
    FULL JOIN (
        select 学校名称,
            COUNT(学校名称) as 一等奖总数
        from [Math-WinList]
        where 获奖等级 = '一等奖'
        group by 学校名称
    ) b on a.学校名称 = b.学校名称
ORDER BY 获奖总数 desc

结果:

学校名称获奖总数(人)一等奖总数(人)
郑州大学1500306
河南科技大学892224
河南大学798176
郑州轻工业大学638100
河南理工大学562140
河南科技学院526104
河南财经政法大学37076
黄淮学院33634
河南工业大学32476
信息工程大学31480
华北水利水电大学28856
洛阳师范学院27258
安阳工学院25062
河南师范大学21254
信阳学院16422
郑州师范学院16430
郑州航空工业管理学院15240
信阳师范学院13034
南阳师范学院12424
平顶山学院11626
郑州西亚斯学院11216
洛阳理工学院11026
郑州升达经贸管理学院1068
安阳师范学院10224
河南师范大学新联学院984
河南大学民生学院9024
河南农业大学8820
许昌学院7818
商丘师范学院768
郑州财经学院724
河南工学院6418
商丘工学院6016
商丘学院566
周口师范学院548
安阳学院5212
河南城建学院5010
郑州经贸学院502
河南牧业经济学院4412
中原工学院328
新乡学院306
河南理工大学鹤壁工程技术学院244
河南财政金融学院162
黄河科技学院160

3)将SQL查询结果导出为Excel

将”按学校的获奖总人数“获奖的结果导出为Excel。

复制这个SQL代码。然后右击数据库->Task->Export Data。之后数据源为Sql Server,导出为Excel。步骤如下:

在这里插入图片描述

最后

从结果中可以可出,郑州大学在河南依旧是遥遥领先,但是河南大学的成绩缺不那么令人满意,被河南科技大学超越,还好占据了前三名的位置。第四名是郑州轻工业大学,这所学校实力不俗,但是奈何名气远不如河南理工大学、河南工业大学等学校。

行吧,就这了。太累了!!!

而且好久没有用过数据库了,写SQL语句真的是费了很大劲。唉,还要多学习。

祝大家新年快乐啊!!!

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值