50个SQL语句(MySQL版) 问题十九
--------------------------表结构--------------------------
student(StuId,StuName,StuAge,StuSex) 学生表
teacher(TId,Tname) 教师表
course(CId,Cname,C_TId) 课程表
sc(SId,S_CId,Score) 成绩表
----------------------------------------------------------
问题十九:按各科平均成绩从低到高和及格率的百分数从高到低顺序(百分数后如何格式化为两位小数?)
SELECT S_CId,ROUND(AVG(Score),2) AvgScore,ROUND(SUM(CASE WHEN Score>=60 THEN 1 ELSE 0 END)/COUNT(1)*100,2) PercentFROM sc GROUP BY S_CId ORDER BY AvgScore asc,Percent desc;
答案仅供参考,不一定完全正确,若发现错误或有更好的,欢迎评论,互相交流,一起成长!!!
No comments:
Post a Comment