开发工具与关键技术:Oracle sql*plus PLSQL Developer
作者:刘俊杰
撰写时间:2019年03月26日
把成绩的及格率转换为百分比就是查询而已,用到的函数不多,过程也简单易懂,主要使用了group by 分组函数和case when 表达式。
在上图中我们看到,首先用group by 分组函数用cno课程号进行分组,查询出各科的平均成绩。
然后再case when表达式计算出成绩大于或等于60分的成绩,如果成绩超过或等于60的话就返回一个1,如果没有超过的话就返回0。
这样再在外面用一个sum求和函数计算出几个成绩的集合,再用这个集合来除以count获取到的总行数,然后就得到它的及格率了,最后再拿计算出来的百分数乘以一百就得到了百分比,再用||连接符在外面连接一个%百分比符号就转换为百分比了外面再用一个Round函数保留留2位小数点,然后就可以了。
结果如图所示:
如上图所示及格率换算为百分比了,但是由于没有课程数进行对比,如果想要验证它是否正确的话,只需要列出该课程的课程数,然后可以自己用计算器计算一下。