本文编写于 1172 天前,最后修改于 1096 天前,其中某些信息可能已经过时。
今天总算是考完了,然而刚出考场,就接到了任务,要求对全校863个校内获奖项目进行统计处理,天。。

SQL协同Excel制表统计各学院一二三等奖
需求
现有EXCEL表一张,内含以下字段,和近900条数据
单位 | 作品名称 | 作者 | 指导老师 | 获奖等级 |
---|---|---|---|---|
文学院 | 《诗经》中的周代宗庙祭祀诗歌研究 | xxx | xxx | 特等奖 |
文学院 | 《张协状元》中的三身代词句法语义语用特征研究 | xxxx | xxx | 特等奖 |
传媒学院 | VR技术与公益传播融合发展趋势研究 | xxxxxx | xxx | 特等奖 |
社会学院 | 大学生志愿资源效用发挥瓶颈与再造 | xxxxx | xxx | 特等奖 |
社会学院 | 基于VR/AR技术的公共图书馆残障群体服务探索 | xxx | xxx | 特等奖 |
其中获奖等级分别为“特等奖、一等奖、二等奖和三等奖”
要求,统计出各个学院获得特等奖、一等奖、二等奖、三等奖的个数,然后评分排序
想法
首先想到excel自带的分类汇总,但分类汇总只能汇总单一字段,不好搞

又想到了手动筛选数数字,但我是个懒人
所以想到用SQL
解决步骤
新建数据库
直接打开本地集成的Xampp环境
,使用傻瓜式的phpmyadmin
来进行数据库的新建

然后创建对应字段,字段名选择了varchar格式,长度要长一点,我保守起见会出现长的内容的字段的选了100
在excel内构造sql语句并导入
我没有选择直接从excel导入mysql而是自己手动构造sql语句,这样其实也很方便
利用excel拼接sql语句手动导入数据库
注意单双引号
分清楚,使用&
进行引用数据的拼接,比如
="insert into table(college,proname,name,teacher,prize) values('"&A2&"','"&B2&"','"&C2&"','"&D2&"','"&E2&"');"
然后拖动填充柄
,或者双击右下角
,自动填充即可获得对应的863条sql
然后最好导入notepad或者什么编辑软件看一下,是不是每一条语句都是正常的,我这有些行会多出开头结尾的双引号出来,确定无误后用自带的sql工具导入

统计数据
只需要输入
select college,
count(if(prize="特等奖",true,null)) 特等奖,
count(if(prize="一等奖",true,null)) 一等奖,
count(if(prize="二等奖",true,null)) 二等奖,
count(if(prize="三等奖",true,null)) 三等奖
from tiaozhanbei
group by college;
执行就都出来了

再复制到excel里面排一下格式就行,很方便
总结
难点主要是在count()
和group by
上网查了才知道count函数里面也是可以加条件的,就很好,要不然我可能会这么写,加上where就只能统计某一个奖了
select college,count(prize) from tiaozhanbei where prize = "特等奖" group by college;
group by的话相当于分类字段,要选对,不要选错
博主博主 楼上给您评论的那位涉嫌放广告或者蹭流量 到处评论真的是内容都一摸一样。。
Moe_Nya 2020-01-14 14:03
天呐,我这才注意到,我把这位链接和名称给改了吧,才意识到为什么邮件回复说没有这个邮箱。。谢谢Nya酱提醒( T_T)\(^-^ )
Yugo 2020-01-14 14:21
网站内容还是挺不错的,谢谢博主。还有博客应该是WORDPRESS做的吧,感觉美观度还可以提高,谢谢。我自已是搞前端设计的,你的代码可以做精简一点。
GIT 2020-01-13 21:45
感谢您,博客采用的是比较轻量的Typecho,因为相比Wordpress,typecho原生支持Markdown语法代码包也更加精简所以选择了它,使用了Eltrac大佬制作的Miracle主题,版权和地址都在footer部分。目前仅有代码框是自己借鉴他人作品修改的,在前几篇博文中有提到,自己看起来觉得还可以,不过的确美观度还可以有所提高,感谢您的建议~欢迎多多来访呀
Yugo 2020-01-13 23:02