平顶山学院java 网络,使用SQL Server分析2020全国大学生数学竞赛河南赛区结果

目录

文章目录

背景

开始

1、原始文件

2、将Excel导入SQL Server。

3、查看导入的数据表

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

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

3)删除值为NULL的行

1)按性别分组

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

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

最后

本次所使用的数据

链接:https://pan.baidu.com/s/1Dv3MdMWX2Zr58q96JcDhgQ

提取码:zhk7

背景

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

平台:SQL Server 2019 SSMS

语言:SQL

开始

1、原始文件

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

​ 类似这样的:

cc736a2a9df82aa5daca38f32fdbccf1.png

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

9c02efbed1baf23581cd97e13ad240a6.png

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

2、将Excel导入SQL Server。

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

3fed806eec6bfa93b589cdec7ac0c509.gif

3、查看导入的数据表

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

d289ff299f35e0e7c24fae1df0c8a37e.png ## 4、整理

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

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

我重命名为 “ Math-WinList"。

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

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

alter table [Math-WinList] drop column F3

3)删除值为NULL的行

--删除值为 NULL的行

delete from [Math-WinList]

where 序号 is NULL

删除之后的结果:

9c24c9e7b1d613fcd952b50d36213ea6.png ## 5、操作

1)按性别分组

select

性别,

COUNT(*) as 获奖总数

from [Math-WinList]

group by 性别

结果:

6928009e3fd647ca3601dd7ed21f9294.png

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

结果:

学校名称

获奖总数(人)

一等奖总数(人)

郑州大学

1500

306

河南科技大学

892

224

河南大学

798

176

郑州轻工业大学

638

100

河南理工大学

562

140

河南科技学院

526

104

河南财经政法大学

370

76

黄淮学院

336

34

河南工业大学

324

76

信息工程大学

314

80

华北水利水电大学

288

56

洛阳师范学院

272

58

安阳工学院

250

62

河南师范大学

212

54

信阳学院

164

22

郑州师范学院

164

30

郑州航空工业管理学院

152

40

信阳师范学院

130

34

南阳师范学院

124

24

平顶山学院

116

26

郑州西亚斯学院

112

16

洛阳理工学院

110

26

郑州升达经贸管理学院

106

8

安阳师范学院

102

24

河南师范大学新联学院

98

4

河南大学民生学院

90

24

河南农业大学

88

20

许昌学院

78

18

商丘师范学院

76

8

郑州财经学院

72

4

河南工学院

64

18

商丘工学院

60

16

商丘学院

56

6

周口师范学院

54

8

安阳学院

52

12

河南城建学院

50

10

郑州经贸学院

50

2

河南牧业经济学院

44

12

中原工学院

32

8

新乡学院

30

6

河南理工大学鹤壁工程技术学院

24

4

河南财政金融学院

16

2

黄河科技学院

16

0

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

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

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

b127bb88cc61a655672d9ba6ec9ccfc6.gif

最后

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

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

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

祝大家新年快乐啊!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值