sql-server试题

每名学生每个学年有100分"纪律分",在学期末教务处要对每个同学扣除"纪律分",设计出此表将扣除后的同学分数进行排名并编写算法,前10%的人将获得A级"表现等级",之后前15%获得B级"表现等级",后15%获得D级"表现等级",其他人为C级。

用sql-server检出表来

先用开窗函数按学号分组按分数排序得到RN 和 sum起来学生人数。然后外套一层用RN除以学生人数得到百分比,然后再用case when判断。得到最终结果。