50個のSQL文(MySQL版)問題20

2395 ワード

----------------------------------------------------------------------------------------
student(StuId,StuName,StuAge,StuSex)学生表
teacher(TId,Tname)教師表
course(CId,Cname,C_TId)カリキュラム
sc(SId,S_CId,Score)成績表
----------------------------------------------------------
質問20:次のコースの平均成績と合格率のパーセンテージ(「1行」で表示されます):エンタープライズ管理(001)、マルクス(002)、UML(003)、データベース(004)
SELECT S_CId,
ROUND(AVG(Score),2) AvgScore,
ROUND(SUM(CASE WHEN Score>=60 THEN 1 ELSE 0 END)/COUNT(1)*100,2) Percent
FROM sc WHERE S_CId IN ('001','002','003','004')
GROUP BY S_CId;

答えはただ参考にして、必ずしも完全に正しいとは限らなくて、もし间违いを発见してあるいはもっと良いことがあるならば、评论を歓迎して、互いに交流して、いっしょに成长します!!!